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

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

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

输出

1至100之间的Disarium数是:
1
2
3
4
5
6
7
8
9
89

解释

  • 定义了两种方法,用于查找数字中的位数,并获得数字乘以其位置的乘积。
  • 将一个初始结果分配为0。
  • 循环迭代在1到101之间的数字(不包括101),如果数字与数字中的位数的乘积相同,则认为它是Disarium数。
  • 这将显示在控制台上的输出。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程