~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~
Examination Problem
质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。
判断101-200之间有多少个素数,并输出所有素数。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Analysis
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
在一般领域,对正整数n,如果用2到根号n之间的所有整数去除,均无法整除,则n为质数。
质数大于等于2不能被它本身和1以外的数整除
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Program
Program1
"""
File: example12.py:
Time:Created on 2016-09-02 21:31:11
Author: Sure
"""
<pre name="code" class="python">#!/usr/bin/python
# -*- coding: UTF-8 -*-
#程序源代码:
import time
print("当前时间:")
print ( time.strftime( ' %Y-%m-%d %H:%M:%S',time.localtime(time.time()) ) )
P=0 #P means prime number
leap = 1 #leap means jump 1 per time
from math import sqrt
from sys import stdout
for m in range(101,201):
k = int(sqrt(m + 1))
for i in range(2,k+1):
if m % i == 0:
leap = 0
break
if leap == 1:
print("第%3d 个素数为:%12d" %(P,m))
P += 1
if P % 10 == 0:
print('')
leap = 1
print('the total is %d' %P)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Results
当前时间:
2016-09-02 22:01:29
第 0 个素数为: 101
第 1 个素数为: 103
第 2 个素数为: 107
第 3 个素数为: 109
第 4 个素数为: 113
第 5 个素数为: 127
第 6 个素数为: 131
第 7 个素数为: 137
第 8 个素数为: 139
第 9 个素数为: 149
第 10 个素数为: 151
第 11 个素数为: 157
第 12 个素数为: 163
第 13 个素数为: 167
第 14 个素数为: 173
第 15 个素数为: 179
第 16 个素数为: 181
第 17 个素数为: 191
第 18 个素数为: 193
第 19 个素数为: 197
第 20 个素数为: 199
the total is 21