Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để in tất cả các số Disarium từ 1 đến 100

Khi yêu cầu in tất cả các số disarium từ 1 đến 100, một vòng lặp đơn giản có thể chạy từ 1 đến 100 và độ dài của mọi số có thể được tính toán và lũy thừa của vị trí có thể được nhân với chính số đó.

Nếu chúng bằng nhau, nó được coi là số disarium.

Số Disarium là số mà tổng các chữ số của nó theo lũy thừa của vị trí tương ứng của chúng bằng chính số ban đầu.

Dưới đây là một minh chứng cho điều tương tự -

Ví dụ

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)

Đầu ra

The disarium numbers between 1 and 100 are :
1
2
3
4
5
6
7
8
9
89

Giải thích

  • Hai phương pháp được xác định, dùng để tìm số chữ số trong một số và lấy tích của chữ số nhân với vị trí của nó.
  • Kết quả ban đầu được gán cho 0.
  • Một vòng lặp được lặp lại trên các số từ 1 đến 101, (không bao gồm 101) và nếu số giống với tích của các chữ số trong số và vị trí, thì nó được coi là số lệch.
  • Điều này được hiển thị dưới dạng đầu ra trên bảng điều khiển.