暂无分类
暂无标签
发布于2019-12-22 18:30 阅读(1074) 评论(0) 点赞(6) 收藏(2)
0
1
2
3
4
Day2:求1000以内的素数
#素数:除了1和它本身外,不能被其他自然数整除
#判断素数的方法:1).暴力法:从2到n-1每个数均整除进行判断
2).开根号法:从2到sqrt(n)均做整除判断(原因:一个合数一定含有小于自己平方根的质因子)
方法1:
1 prime = [] #存储素数 2 for m in range(2,1001): 3 state = 1 #创建标签来判断状态 4 for i in range(2,m - 1): 5 if m % i == 0: 6 state = 0 7 break 8 if state == 1: 9 prime.append(m) 10 print("total:%d"%len(prime)) 11 print(prime)
方法2:此时我们换一种思路,首先可以判断一个数是否是素数,然后再对1000以内的数进行遍历
1 def is_prime(n): 2 if n == 1: #1和0既不是合数也不是素数 3 return False 4 i = 2 5 while i * i < n: 6 if n % i == 0: 7 return False 8 i += 1 9 return True 10 11 prime = [] 12 i = 1 13 while i <= 1000: 14 if is_prime(i): 15 prime.append(i) 16 i +=1 17 print(prime)
0
1
2
3
4
作者:9384vfnv
链接: https://www.pythonheidong.com/blog/article/181804/a6356b6918b4ff6ef347/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系z452as@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!