Поиск простых чисел? Всем привет, помогите с программой по поиску простых чисел из учебника:#include
#include
using namespace std;
int main()
{
int i, j;
for (i = 2; i < 1000; i++){
for (j = 2; j (i / j)) cout << i << " - simple number\n";
}
_getch();
return 0;
}
Почему и для каких целей эти проверки:
for (j = 2; j (i / j)) cout << i <

21 Авг 2019 в 06:06
202 +1
0
Ответы
1

Да, вот немного об этом:

Проверка for (j = 2; j <= (i / j); j++) берется диапазон j <= i / j для того, чтобы обеспечить, что проверяемый делитель не будет больше корня из числа i. Если делитель превысит корень из i, значит, программа уже проверила все возможные делители и дальнейшая проверка не требуется.

Условие if !(i!(i % j)!(i проверяет, является ли i делителем числа. Если остаток от деления i на j равен 0, значит, j является делителем i, и число i не является простым.

if (j > (i / j)) используется для дополнительной проверки простоты числа. Если j превышает i / j, это означает, что программа уже проверила все возможные делители до корня из i, и число i простое.

Таким образом, эти проверки необходимы для эффективного поиска простых чисел.

20 Апр 2024 в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир