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

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

Examination Problem

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

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

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

Analysis

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

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

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

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

Program

      Program1

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. """ 
  2. File: example12.py: 
  3. Time:Created on 2016-09-02 21:31:11 
  4. Author: Sure 
  5. """  
  6. !/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]



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值