Python 程序:检查数字是否为强数


2022年2月23日, Learn eTutorial
1546

在这个简单的 Python 程序中,我们需要检查给定的数字是否为强数。这是一个基于数字的 Python 程序。

为了更好地理解这个示例,我们始终建议您学习以下列出的 Python 编程基础知识

什么是强数?

为了解决这个基本的 Python 程序,我们需要知道什么是强数。如果一个数的各个位上的数字的阶乘之和等于该数本身,那么这个数被称为强数。让我们举个例子来更清楚地理解。

以数字 145 为例,通过将 1、4 和 5 的阶乘相加来检查该数是否为强数,即 145 = 1! + 4! + 5! = 1 + 24 + 120 = 145。所以该数与和相等,145 是一个强数。

如何在 Python 中检查强数?

要在 Python 编程语言中应用此逻辑,我们必须计算数字各个位上的阶乘,将求和变量初始化为 ,并接受用户输入的数字,将其存储在 temp 变量中。现在我们打开一个 Python while 循环,直到数字为零,我们使用 模运算符 分割数字并从数字中取出一个数字。

现在,打开另一个从 1 到该数字的 while 循环。执行阶乘乘法 f=f*i [直到我们通过乘法变量达到该数字] 并增加 'i' 以乘以所有数字直到该位。在 while 循环之后,将该位的阶乘加到 sum,将数字除以 10 以去除最后一位。然后再次循环。最后,使用 Python 中的 if 条件检查 sum 和数字是否相等,如果相等,则打印它是强数。

算法

步骤 1:使用 Python 编程中的 input 函数接受用户输入的数字,并初始化一个求和变量。

步骤 2:将数字存储到 temp 变量中。

步骤 3:打开一个 while 循环,使用 Python 语法分割数字并取出一个数字。

步骤 4:将 'i' 和 f 变量初始化为 1

步骤 5:使用 模运算符 分割并从数字中取出一个数字。

步骤 6:打开另一个从 1 到该数字的 while 循环。

步骤 7:使用 f = f*i 获取该数字的阶乘,在循环中每次将 1 增加 1

步骤 8:将该数字的阶乘加到和中,以检查数字和和是否相等。

步骤 9:通过除以 10 从数字中移除该数字。

步骤 10:使用 if 条件检查和与数字是否相等,如果条件满足,则使用 Python 编程基础知识打印它是强数。

Python 源代码

                                          sum1=0
num=int(input("Enter a number:"))
temp=num
while(num):
    i=1
    f=1
    r=num%10
    while(i<=r):
       f=f*i
       i=i+1
    sum1=sum1+f
    num=num//10
if(sum1==temp):
    print("The number is a strong number")
else:
    print("The number is not a strong number")
                                      

输出

Enter a number:145

The number is a strong number.