您的位置:

Python 程序:寻找质数

编写一个 Python 程序,使用 For 循环、While 循环和函数来查找质数。除 1 以外不能被任何其他数整除的自然数,其本身称为质数。

质数:2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97、101、103、107、109 等。2 是唯一的偶数。

使用 For 循环寻找质数的 Python 程序

该程序允许用户输入任何整数值。接下来,这个 Python 程序使用 For 循环检查给定的数字是否是质数。

Number = int(input(" Please Enter any Number: "))
count = 0

for i in range(2, (Number//2 + 1)):
    if(Number % i == 0):
        count = count + 1
        break

if (count == 0 and Number != 1):
    print(" %d is a Prime Number" %Number)
else:
    print(" %d is not a Prime Number" %Number)

在 for 循环中,有一个 If 语句来检查被 I 整除的值是否正好等于 0。如果条件为真,则计数值递增,然后执行中断语句。接下来,我们使用另一个 If 语句来检查 Count 是否为零,Num 是否不等于 1。

用户在上面的 Python 程序中输入整数来检查质数示例是 365

第一次迭代:对于 I 在范围(2,365//2) 意味着,对于 I 在范围(2,182.5)–条件为真 现在,检查 if 条件–if(365% 2 = = 0)。如你所知,条件是假的 接下来,我变成 3

对剩余的和迭代进行同样的操作

接下来,进入 Python If 语句。如果(计数== 0 & &个数!= 1 ).在上面的所有迭代中,如果条件失败,那么计数值没有从初始化 0 开始增加。我们使用的是 365(不是零)。所以,条件是真,也就是质数。

使用 While 循环寻找质数的 Python 程序

这个 Python 程序和上面的一样。我们刚刚将上面 python 程序中的 For 循环替换为 While 。

Number = int(input(" Please Enter any Num: "))
count = 0
i = 2

while(i <= Number//2):
    if(Number % i == 0):
        count = count + 1
        break
    i = i + 1

if (count == 0 and Number != 1):
    print(" %d is a Prime" %Num)
else:
    print(" %d is not a Prime" %Num)
 Please Enter any Num: 14
 14 is not a Prime
>>> 
 Please Enter any Num: 109
 109 is a Prime

用函数求质数的 Python 程序

这个 python 程序与第一个示例相同。然而,我们通过定义新的函数来分离逻辑。

def finding_factors(Number):
    count = 0

    for i in range(2, (Number//2 + 1)):
        if(Number % i == 0):
            count = count + 1
    return count

Num = int(input(" Please Enter any Num: "))

cnt = finding_factors(Num)

if (cnt == 0 and Num != 1):
    print(" %d is a Prime" %Num)
else:
    print(" %d is not a Prime" %Num)
 Please Enter any Num: 44
 44 is not a Prime
>>> 
 Please Enter any Num: 139
 139 is a Prime