编写Python程序以查找数字是否为强数
什么是强数?
强数是一个等于其阶乘之和的数字。
例子
145 Factorial of 1=1 Factorial of 4=24 Factorial of 5=120 Sum=1+24+120 =145
接下来的程序是查找输入数字是否为强数。如果数字是一个强数,则返回“True”,否则返回“False”。
我们使用两个函数isStrong()来确定数字是否为强数,第二种方法是factorial()返回所传递数字的阶乘。
在factorial()从内部调用isStrong()得到的所有的数字(N%10)阶乘,并把它添加到总和。
将所有数字的阶乘相加后,将总和与原始数字进行比较,如果相等,则返回true,否则返回false。
为什么我们将n复制到numin中isStrong()?遍历while循环时,n的值将更改为zero.But我们要求稍后将原始值与总和进行比较,因此,我们需要在更改n之前将其复制到某个变量中。
在factorial()使用递归来计算数字的阶乘。
示例
def factorial(d):
if(d==1 or d==0):
return 1
return d*factorial(d-1)
def isStrong(n):
num=n
sm=0
while(n>0):
digit=n%10
sm=sm+factorial(digit)
n=n//10
if(sm==num):
return True
else:
return False
print("Input a number")
a=int(input())
print(isStrong(a))输出结果Input a number 145 True
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短