Python程式:檢查給定數字是否為迪斯阿里姆數


需要檢查給定數字是否為迪斯阿里姆數時,需要計算各位數字分別乘以其位置次冪之和。在此之前,需要先確定數字的位數。

迪斯阿里姆數是指其各位數字分別乘以其位置次冪之和等於該數字本身的數。

下面是一個演示:

示例

 線上演示

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”的方法,用於計算數字的位數。
  • 它計算數字的向下取整除法並返回數字的長度。
  • 定義數字,並在控制檯上顯示。
  • 它使用模運算獲取餘數,並將其新增到一個sum變數中。
  • 位置的冪與數字本身相乘。
  • 將其與數字進行比較。
  • 如果相等,則表示它是哈沙德數,否則不是。

更新於:2021年3月12日

269 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.