Python 程序打印 1 到 100 之间的所有 Disarium 数字

pythonserver side programmingprogramming更新于 2024/1/27 2:53:00

当需要打印 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("1 到 100 之间的二进位数字是:")
for i in range(1, 101):
   ini_result = digit_sum(i)
   if(ini_result == i):
      print(i)

输出

1 到 100 之间的二进位数字是:
1
2
3
4
5
6
7
8
9
89

解释

  • 定义了两个方法,分别用于查找数字中的位数以及获取数字与其位置的乘积。
  • 初始结果被赋值为 0。
  • 循环遍历 1 到 101 之间的数字(不包括 101),如果数字与数字中的位数和位置的乘积相同,则将其视为二元数。
  • 这将作为输出显示在控制台上。

相关文章