永发信息网

C++新手 找1000到2000所有的质数!

答案:1  悬赏:10  手机版
解决时间 2021-03-21 09:10
#include <iostream>#include <cmath>#include <iomanip>using namespace std;int main(){int i,p=3,n;bool o=true;for (i=1001;i<=2000;i+=2){ for (p=3;p<=int(sqrt(i));p++) { if (i%p==0) {break;o=false;} } if (o) {cout<<setw(5)<<i; return 0;}
我执行了却得到1001到1999所有的奇数。
我没弄清楚这些问题:
比如:
当1001/3时,不能整除,那么是继续p++还是会先执行if(O)后面的语句(因为不能整除,此时o=true的)再p++,这是不是和第二个for循环后面的括号有关?我上面没把if(O)括起来是不是就直接继续p++啊?
当出现一个余数为0的情况,是不是第二个for循环针对本次的i值的循环结束?之后是执行if(o)即不输出任何值然后再i+2又循环?
当出现一个质数时,第二个FOR循环针对这个质数的循环结束后,是执行if(o)即输出该i值再i+2再循环?还是直接i+2不输出该值?
最佳答案
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main(){
int i,p=3,n;
bool o=true;
for (i=1001;i<=2000;i+=2){  
o=true;//对每个数都初始化成true
for (p=3;p<=int(sqrt(i));p++) { 
if (i%p==0) {
o=false;//先把o设置成false再break
break;

}

if (o) 
cout<<setw(5)<<i;
}
return 0;
} 欢迎提问交流哈、
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在中国古代玉如玉的基本造型有哪些?主要表达
上海地铁 人均乘坐时间
暖宝宝怎么贴在腿上 是贴在前面还是贴后面(
踏板福喜摩托车发动机上面印着“wy”两个字母
不迁就经典语录,感情事不能勉强又不能迁就!
.—Let’s throw a surprise party for mom
如何判断是我自动离职的还是被单位辞退的
苹果微信斗地主怎么买欢乐豆
在CSS 中如何使用百分比设置页面 Div 高度?
学校匿名举报信怎么写,举报学校补课的具体方
延边大学研究生复试考英语听力吗
新亚宾馆地址在哪,我要去那里办事
汽车发动后,排气管发音嘟嘟的声音是什么原因
天津中山志成职专3加2录取分数线
今天是我和爱人的纪念日,请各位把你们最好听
推荐资讯
我看青山多妩媚,料青山看我亦如是。 以上诗
买腹肌轮什么牌子好,腹肌轮带轴承有什么牌子
仓鼠尾巴周围湿湿的,黄色脏脏的,感觉不是湿
果桑修剪方法
重庆两江新区公租房什么时候接受申请
小松鼠找来松果当粮食的“当”字读什么?是第
成功人士在游艇上喜欢什么样的活动
“午窗残梦鸟相呼’’(王安石),无论是轻梦
ABAQOUS有限元分析软件是哪个国家出的,详细
河南省的旅游年票怎么办理?都有哪些景区?星
两只品种相同的公母仓鼠,他们合笼会打架吗,
黄骅市安盛新能源销售有限公司沧州办事处这个
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?