python | 您所在的位置:网站首页 › python输出1到100之间的素数之和 › python |
首先,什么是素数? 素数又叫质数,质数是指在大于1的自然数中,除了1和它本身以外,不能被其他自然数整除的数。 例如:3只能被1和3整除,除此之外不能再被其他数字整除,那么3就是质数。 那么也就可以得出 设x为1~100的随机一个数 设y为2到随机出的数 条件当x%y==0为true 可得代码: for x in range(1,101): for y in range(2,x): if x%y == 0: break else: print(x)结果: 乍一看没什么大问题,但是,结果有1,那么1算不算素质(质数)呢? 那么1显然不是我们要的,所以这个代码有小问题,因为1确实符合能被1和自身整除,除此之外不能再被其他数字整除这个条件 所以,我们得抛开1,直接从2开始 并且这样显示的结果也不美观,所以我可以使用list接收append的形式 优化后代码: #方法一: num=[] for x in range(2,101): for y in range(2,x): if x%y == 0: break else: num.append(x) print(num) #方法二: num = [] x = 2 for x in range(2, 101): y = 2 for y in range(2, x): if x%y == 0: break else: num.append(x) print(num) #方法三 num=[] import math for x in range(2,101): flag = True for y in range(2,int(math.sqrt(x))+1): if(x%y)==0: flag = False break if flag: num.append(x) print(num)结果: |
CopyRight 2018-2019 实验室设备网 版权所有 |