+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-03(70)

2020-04(60)

2020-05(24)

2020-06(39)

2020-07(23)

Python活力练习Day2

发布于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黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

6 0
收藏该文
已收藏

评论内容:(最多支持255个字符)