Может кто нибудь подсказать, что не так с этим алгоритмом? Проблема в том, что при запуске некоторые числа отображаются в командной строке по несколько раз. В итоге получается, что некоторые числа начала не отображаются и вовсе, если задать number как 200.
Сам код:
#include <iostream>
using namespace std;
int main ()
{
int number;
for (number = 3; number<=20; number++)
{
for (int counter = 2; counter*counter<=number; counter++)
{
if( number% counter == 0)
{
break;
}
else{
cout<<number<<endl;
}
}
}
return 0;
}
Вы на каждый неделитель выводите число...
Вот что вы хотели:
#include <iostream>
using namespace std;
int main ()
{
int number;
for (number = 3; number<=200; number++)
{
bool prime = true;
for (int counter = 2; counter*counter<=number; counter++)
{
if( number% counter == 0)
{
prime = false;
break;
}
}
if (prime) cout << number << endl;
}
return 0;
}
Но учтите, что это далеко не самый эффективный метод...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как передать двухмерный массив в функцию как параметр? пытался сделать ссылку, но выдает ошибкуКод программы ниже
Я долго всматривался в эту картинку и пытался понять, что же такое мультисписок, но до сих пор не понимаю, как это реализовать
Задача по структурам поля № авиарейса время полета время прилета направление марка самолета расстояние вывести данные об авиарейсе с максимальной...