100~200之间求素数问题
很简单的题是让求100~200之间的素数,我的思路是大循环套小循环,大循环控制100~200之间的数i,小循环是从2开始到<i的数,用x存储取余得到的结果,sum初始化成1,用来计算sum = sum *x的值,如果sum出现了0的情况,就continue结束小循环,因为出现0 的话肯定是有可以整除的数据了,i自增继续监测
我的代码如下:
#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
int x = 1, s = 1;
for (int i = 101; i <= 200; i++){
s = 1;
for (int j = 2; j < i; j++){
x = i%j;
s = s *x;
if (s = 0){
continue;
}
}
if (s ){
cout << i << " " ;
}
}
system("pause");
return 0;
}
不知道为什么输出来没有结果,我用cout语句测试sum的值全都是0,但是按照这个思路应该第一个数就是素数才对呀?请问为什么会没有素数输出呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
改为
话说你乘起来干嘛?
if(s = 0)
错了吧。if(s == 0)
,break
才能结束内层循环。为什么s变成了0