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