Python程序检查数字是否为强数
强数是一种其所有数字的阶乘之和等于该数字’n’的数字。阶乘是指我们计算出该数字下面所有数字的乘积(包括该数字),表示为!(惊叹号),例如:5!=5x4x3x2x1=120。当需要检查一个数字是不是强数时,可以使用余数模运算符和while循环。
下面是相同的演示−
示例
my_sum=0
my_num = 296
print("这个数字是")
print(my_num)
temp = my_num
while(my_num):
i=1
fact=1
remainder = my_num%10
while(i<=remainder):
fact=fact*i
i=i+1
my_sum = my_sum+fact
my_num=my_num//10
if(my_sum == temp):
print("这个数字是强数")
else:
print("这个数字不是强数")
输出
这个数字是
296
这个数字不是强数
解释
-
初始化总和为0。
-
定义数字并显示在控制台上。
-
定义数字为临时变量。
-
使用while循环确定余数。
-
再次使用while循环以查看迭代器是否小于等于余数。
-
如果较小,则将“fact”变量与迭代器相乘。
-
然后+1。
-
将总和值添加到“fact”变量中。
-
如果“ temp”变量和总和相等,则认为它是一个字符串数。