c++计算100到n的素数和,哪里出错了

从键盘输入n的值,计算100到n的所以素数和,请问哪里出错了

img

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++



```