C++ 如果我<=数字-1那么,i的最大值应该是数字-1,那么数字%1==0或i==number语句如何为真?

C++ 如果我<=数字-1那么,i的最大值应该是数字-1,那么数字%1==0或i==number语句如何为真?,c++,loops,for-loop,C++,Loops,For Loop,最大值为1的i仍然满足这些方程,因为i不能等于1 for (i = 2; i <=number-1; i++) if(number%i==0) break; if(i==number){ cout<<"This is a prime number"; } else{ cout<<"Not prime number"; } for(i=2;ifor循环语句在代码段中定义如下 for (i

最大值为1的i仍然满足这些方程,因为i不能等于1

for (i = 2; i <=number-1; i++)
   if(number%i==0)
    break;
    if(i==number){
        cout<<"This is a prime number";
    }
    else{
        cout<<"Not prime number";
    }

for(i=2;ifor循环语句在代码段中定义如下

for (i = 2; i <=number-1; i++)
   if(number%i==0)
    break;

for(i=2;i)当i>number-1时,即i==number时,循环停止迭代。您的缩进有误导性。
if(i==number)
实际上在循环之外。你不需要把for循环后面的所有行都用大括号括起来吗?@auburg写的这是一个工作筛。Asker只是不明白它是如何工作的。Wait i==number语句需要i应该等于number。但是i=到number-1?与数字%i==0相同。@RaviArya在循环的最后一次迭代后,i变成等于number,条件i@ravarya如果(i==number)
发生在循环停止后,则循环停止,因为
i==number
,这是第一个不满足
i

for (i = 2; i <=number-1; i++)
{
   if(number%i==0) break;
}
if(i==number){
    cout<<"This is a prime number";
}
else{
    cout<<"Not prime number";
}