如果数字a不是素数 ,那么a会有一个非1的因数b,使 a = b * c成立,如果b分布在a的平方根左侧,那么必然有一个因数分布在a的平方根右侧
所以在判断a是否是素数,我们只检查2到a的平方根这个范围是否有a的因数即可,如果没有那a就是素数
from math import sqrt #导入sqrt函数
x =int(input())#假设输入50for i inrange(2,x+1):
isPrime =True#初始值为Truefor j inrange(2,int(sqrt(i))+1):if i % j ==0:#判断i是否能被j整除,若能则isPrime = False
isPrime =False#使用contine 占的运行空间消耗大所以使用breakbreak# 结束内嵌循环if isPrime:print(i)
什么是素数(质数)素数(质数):因数只有自身和1的数0和1不是素数(质数)这里通过for循环打印素数(质数)x = int(input()) #假设输入的是30y = [] #用来存储因数for i in range(1,x+1): for j in range(1,i+1): if i % j == 0:#寻找i的因数并添加进y列表中 y.append(j) if len(y) == 2:#判断y列表的长度是否等于2,如果等于2 则里