题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
素数(质数)定义:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除
把题目改了一下,可以自定义查找的范围,不限定在101-200之间。
Python的解题代码:
import math
s_begin=int(input("请输入开始查找的数:"))
s_end=int(input("请输入结束查找的数:"))
js_1=0
js=0
js_str=""
for i in range(s_begin,s_end+1):
for j in range(2,int(math.sqrt(i))+1):
if i%j== 0 :
js_1=js_1+1
if js_1==0 :
js=js+1
js_str=js_str +str(i)+","
js_1=0
print(str(s_begin)+"-"+str(s_end)+"之间的质数有 "+str(js)+" 个")
print("分别是:"+ js_str)
调试结果为:
请输入查找范围的开始数:101
请输入查找范围的结束数:200
101-200之间的质数有 21 个
分别是:101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,