если i <= число-1, то максимальное значение i должно быть числом-1, тогда как числа% 1 == 0 или i == числа являются истинными? - PullRequest
0 голосов
/ 11 октября 2019

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";
    }

1 Ответ

0 голосов
/ 11 октября 2019

Оператор цикла for определен в вашем фрагменте кода следующим образом

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

То есть это то же самое, что и

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

Следующий оператор if не принадлежитдля цикла

if(i==number){
    cout<<"This is a prime number";
}
else{
    cout<<"Not prime number";
}

Так что если после цикла for я равен числу (после последней итерации цикла), то число простое.

Причина путаницы - плохаяформатирование кода .:)

...