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数。
- 这将显示在控制台上的输出。