是真的搞不懂这个了,试数也试的不对,从第一个for开始,i=2,i<=100,然后j=2,j不小于i,退出循环,然后++i,i=3,3<=100,进入第二个for循环,j=2,j小于i满足执行下面的if语句,i%j余数为1,不满足,然后++j,j=3,j不小于i退出循环。
我就是这个思路,是我思路哪里出了问题吗实在是不懂
#include<iostream>
using namespace std;
int main()
{
int N = 100;
for (int i = 2; i <= N; ++i)
{
int count = 0;
for (int j = 2; j < i; ++j)
{
if (i % j == 0)
{
count += 1;
break;
}
}
if (count == 0)
printf("%d为质数\n", i);
}
return 0;
}
楼主的思路,结果也是正确的
#include<iostream>
using namespace std;
int main()
{
int N = 100;
for (int i = 2; i <= N; ++i)
{
int j;
for (j = 2; j < i; ++j)
{
if (i % j == 0)
break;
}
if (i == j)
printf("%d为质数\n", i);
}
return 0;
}
代码没问题啊