题目:

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

这道题俺思路是这样的:首先我们要知道什么是素数;
素数又称质数:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
简而言之就是除了1和数本身还能不能被其它数整除,不能就是素数!
用两个for循环,外循环101—200,内循环判断是否能被整除。
如果是素数flag为真,否则为假并终止本次循环!
想到了三种方法–>

1.憨憨憨方法:
直接从2到数本身判断有无因数

sum=0
for i in range(101,201):
    for j in range(2,i):
        if i%j!=0:
            flag=True
        else:
            flag=False
            break
    if flag==True:
        sum+=1
        print("%d"%i,end=" ")
print(" ")
print("There are %d numbers!"%sum)

2.憨憨方法:
自己举例得知其因数一定小于数的一半
所以直接从2到数除2判断有无因数

sum=0
for i in range(101,201):
    for j in range(2,int(i/2)):
        if i%j!=0:
            flag=True
        else:
            flag=False
            break
    if flag==True:
        sum+=1
        print("%d"%i,end=" ")
print(" ")
print("There are %d numbers!"%sum)

3.憨方法:
自己举例得知其因数一定小于等于数的根号
所以直接从2到数的根号判断有无因数

import math
sum=0
for i in range(101,201):
    for j in range(2,int(math.sqrt(i))+1):
        if i%j!=0:
            flag=True
        else:
            flag=False
            break
    if flag==True:
        sum+=1
        print("%d"%i,end=" ")
print(" ")
print("There are %d numbers!"%sum)

可能我讲的不太清楚,因为自己也是初学者,哈哈哈。
这是运行结果!

101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199  
There are 21 numbers!

就这样啦!
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐