Python活力练习Day2

Day2:求1000之内的素数app

#素数:除了1和它自己外,不能被其余天然数整除spa

#判断素数的方法:1).暴力法:从2到n-1每一个数均整除进行判断code

          2).开根号法:从2到sqrt(n)均作整除判断(缘由:一个合数必定含有小于本身平方根的质因子)blog

方法1:class

 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)
相关文章
相关标签/搜索