从键盘输入n的值,计算100到n的所以素数和,请问哪里出错了
m不能等于i呀,m=i,i%m不是0吗,任何数输入进来最后一除都是0
m<=i改为m*m<=i
原代码有点问题,修改后的代码如下,希望对你有帮助,
int n,s = 0;
cin >> n;
if (n >= 100 || n < 0)
{
// 如果用户输入的值大于100,或者小于0就返回报错
return -1;
}
for (int i = n;i <=100;i++)
{
int a =1;
for (int m = 2;m <= i;m++)
{
if (i%m == 0)
{
a = 0;
break;
}
}
if (a==1)
{
s += i; // i代表这个素数,原程序中的1是统计素数的个数
}
}
cout << s;
```c++
```