int x;
for(x=1;x<100;x++){
int i;
int s=1;
for(i=2;i<x;i++){
if(x%i==0){
s=0;
}
}
if(s==1){
printf("%d\n",x);
}
}
}
有哪里看不懂呢,就是除了1和他自己本身都不能整除
s一个用来判断的标志,x%i==0代表x有因子i,即不为素数,此时s赋值为0,再次循环时s又赋值为1
for(x=1;x<100;x++){ // 遍历循环1 - 99之间的素数
int i;
int s=1; // 判断素数的条件,1是素数,0不是素数
for(i=2;i<x;i++){ // 遍历i - x
// 素数:一个数除了能被1和自生正除外,其余数都不能整除,说明这个数就是素数
if(x%i==0){ // 如果存在x对i取余等于0,那么这个x就不是素数
s=0; // 素数判断条件赋值0
}
}
if(s==1){ // 当s还是等于1,说明x是素数,大于输出
printf("%d\n",x);
}
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y