质数问题

质数问题

题目:判断101-200之间有多少个素数,并输出所有素数。
分析:不能被2整除的称为质数。
错解:
for(int i=101;i<=200;i++){ 
if(i%2!=0){ 
println(i);
}
}
原因:比如121,虽然不能被2整除,但是不是质数。因为它能够被11整除。

方法:判定一个质数m的方法,采用试除法,使用m来去除以2到sqrt(m)之间的数,如果整除说明不是质数。反之,则是质数。

int count=0; //用于计数
for(int i=101;i<=200;i++){
for(int j=2;j<=sqrt(m);j++){ 
if(i%j!=0){ 
continue;//继续在循环体中计算。
}else{ 
break; //跳出循环。执行下一位数。

count++; 


System.out.println(count);
全部评论

相关推荐

03-14 16:04
已编辑
安徽农业大学 算法工程师
痴心的她allin秋...:啥笔试都挂怎么办,某9本考研下岸,练也没时间了,对算法也不感兴趣,大部分大厂笔试只能A0-1个😄
米哈游笔试
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务