1에서 100 사이의 모든 disarium 숫자를 인쇄해야 하는 경우 1에서 100 사이에서 간단한 루프를 실행할 수 있으며 모든 숫자의 길이를 계산할 수 있으며 위치의 거듭제곱은 숫자 자체와 곱해질 수 있습니다.
그것들이 같을 경우, 그것은 disarium 번호로 간주됩니다.
Disarium 숫자는 각 위치의 거듭제곱에 해당하는 숫자의 합이 원래 숫자 자체와 동일한 숫자입니다.
아래는 동일한 데모입니다 -
예시
def length_calculation(my_val): len_val = 0 while(my_val != 0): len_val = len_val + 1 my_val = my_val//10 return len_val def digit_sum(my_num): remaining = sum_val = 0 len_fun = length_calculation(my_num) while(my_num > 0): remaining = my_num%10 sum_val = sum_val + (remaining**len_fun) my_num = my_num//10 len_fun = len_fun - 1 return sum_val ini_result = 0 print("The disarium numbers between 1 and 100 are : ") for i in range(1, 101): ini_result = digit_sum(i) if(ini_result == i): print(i)
출력
The disarium numbers between 1 and 100 are : 1 2 3 4 5 6 7 8 9 89
설명
- 두 가지 방법이 정의되어 있습니다. 숫자의 자릿수를 찾고 해당 자릿수에 해당 위치를 곱한 값을 구하는 데 사용됩니다.
- 초기 결과는 0에 할당됩니다.
- 1에서 101 사이의 숫자(101 제외)에 대해 루프가 반복되며, 숫자가 숫자와 위치의 자릿수를 곱한 값과 같으면 디사리움 숫자로 간주됩니다.
- 콘솔에 출력으로 표시됩니다.