주어진 nmber가 disarium 번호인지 확인해야 하는 경우 해당 위치에 대한 자릿수의 합이 계산됩니다. 그 전에 숫자에 있는 자릿수가 결정됩니다.
Disarium Number는 해당 위치의 거듭제곱에 해당하는 자릿수의 합이 원래 숫자 자체와 동일한 숫자입니다.
아래는 동일한 데모입니다 -
예시
def length_calculation(num_val): length = 0 while(num_val != 0): length = length + 1 num_val = num_val//10 return length my_num = 192 remaining = sum_val = 0 len_val = length_calculation(my_num) print("A copy of the original number is being made...") num_val = my_num while(my_num > 0): remaining = my_num%10 sum_val = sum_val + int(remaining**len_val) my_num = my_num//10 len_val = len_val - 1 if(sum_val == num_val): print(str(num_val) + " is a disarium number !") else: print(str(num_val) + " isn't a disarium number")
출력
A copy of the original number is being made... 192 isn't a disarium number
설명
- 숫자의 자릿수를 계산하는 'length_calculation'이라는 메서드가 정의되어 있습니다.
- 숫자의 바닥 나눗셈을 계산하고 숫자의 길이를 반환합니다.
- 숫자가 정의되고 콘솔에 표시됩니다.
- 모듈러스 연산을 사용하여 나머지를 구하고 합계 변수에 추가합니다.
- 위치의 힘은 숫자 자체와 곱해집니다.
- 숫자와 비교됩니다.
- 동일하면 하샤드 수임을 의미하고, 그렇지 않으면 그렇지 않습니다.