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

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

解释

  • 定义了一个名为“length_calculation”的方法,用于计算数字的位数。
  • 它计算数字的向下取整除法并返回数字的长度。
  • 定义数字,并在控制台上显示。
  • 它使用模运算获取余数,并将其添加到一个sum变量中。
  • 位置的幂与数字本身相乘。
  • 将其与数字进行比较。
  • 如果相等,则表示它是哈沙德数,否则不是。

更新于:2021年3月12日

269 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告