python 素数(质数)

素数的定义:是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。即只能被1和自己本身整除的数

判定一个数是否为素数的基本思路:
1、了解素数的定义,一个正整数n若为素数,则它的约数只能是1和n本身,
2、根据定义,我们需要将这个数除以从2到n-1之间的全部正整数,如果全部都不能整除,则这个数便是素数。若是其中有一个数能被整除,则这个数是个合数,而不是素数。 因此,用求余算法%不失为一种有效的方法。
3、根据上述原理,我们可以用while循环来实现

n = int(input("请输入要判断的整数:"))
i = 2
#注意,为什么i的取值范围是(2,n/2+)而不是(2,n-1)呢?其实取(2,n-1)也是可以行的,只是运算量比较大而已,浪费资源。
#因为当i>n/2时,n是不可能整除i的,所以i的最大取值范围到n/2即可,这样能大大减少运算量。(思路可以)
while i <= int(n/2)+1:
    if n%i == 0:
        break
    #如果i仍然不能被n整除,那么就自增1,继续执行求余循环,直到i取到最大值为止
    i += 1
#如果在(2,n/2)之间的所有数字都不能被n整除,那么就可以认定这个数是素数。
else:
    print("%d是素数" % n)

 

posted @ 2022-02-25 10:48  一只艾米果  阅读(2369)  评论(0编辑  收藏  举报