Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

1에서 100 사이의 모든 Disarium 숫자를 인쇄하는 Python 프로그램

<시간/>

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 제외)에 대해 루프가 반복되며, 숫자가 숫자와 위치의 자릿수를 곱한 값과 같으면 디사리움 숫자로 간주됩니다.
  • 콘솔에 출력으로 표시됩니다.