编写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复制到num in中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

以上是 编写Python程序以查找数字是否为强数 的全部内容, 来源链接: utcz.com/z/348391.html

回到顶部