您的位置:首页 > 编程语言 > Python开发

【Python】Python_learning10_2:Python中的素数筛选(方法二)

2016-09-02 22:57 651 查看
~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~


Examination Problem

      质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。

      判断101-200之间有多少个素数,并输出所有素数。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Analysis

      程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。  

      在一般领域,对正整数n,如果用2到根号n之间的所有整数去除,均无法整除,则n为质数。

      质数大于等于2不能被它本身和1以外的数整除    

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Program

      Program1

[python] view
plain copy

 





""" 

File: example12.py: 

Time:Created on 2016-09-02 21:31:11 

Author: Sure 

"""  

!/usr/bin/python
# -*- coding: UTF-8 -*-
#程序源代码:
import time
from math import sqrt
print ( time.strftime( '%Y-%m-%d %H:%M:%S',time.localtime(time.time()) ) )
def finds_prime(n1,n2):
list_num = []
for i in range(n1, n2):
for num in range(n1, int(sqrt(n2)+1)):
if i % num == 0 and i != num:
break
elif i % num != 0 and num == int(sqrt(n2)):
list_num.append(i)
return list_num
print("The right result is:",finds_prime(3,101))



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Results

当前时间:
2016-09-02 22:56:43
The right result is:
[3, 4, 5, 7, 11, 13, 17, 19, 22, 23, 26, 29, 31, 34, 37, 38, 41, 43, 46, 47, 53, 58, 59, 61, 62, 67, 71, 73, 74, 79, 82, 83, 86, 89, 94, 97]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: