
Дано натуральное n, проверить является ли оно простым числом. C++


Ответы на вопрос

#include <iostream>
using namespace std;
int IsPrime(int n){
if (n % 2 == 0)
return n == 2;
int d = 3;
while (d * d <= n && n % d != 0)
d += 2;
return d * d > n;
}
signed main() {
setlocale(LC_ALL, "Rus");
int N;
cin >> N;
if (IsPrime(N))
cout << "Число является простым!";
else
cout << "Число не является простым!";
return 0;
}



Для проверки, является ли натуральное число n
простым, вы можете использовать следующий C++ код. Простое число - это число, которое делится только на 1 и на себя само, поэтому мы будем проверять, делится ли n
на какие-либо числа от 2 до квадратного корня из n
.
cpp#include <iostream>
#include <cmath>
bool isPrime(int n) {
if (n <= 1) {
return false;
}
if (n <= 3) {
return true;
}
if (n % 2 == 0 || n % 3 == 0) {
return false;
}
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
int main() {
int n;
std::cout << "Введите натуральное число n: ";
std::cin >> n;
if (isPrime(n)) {
std::cout << n << " - простое число." << std::endl;
} else {
std::cout << n << " - не простое число." << std::endl;
}
return 0;
}
Этот код проверяет n
на делимость на числа от 2 до ближайшего целого квадратного корня из n
. Если n
делится на какое-либо из этих чисел, то оно не является простым. В противном случае, оно считается простым числом.


Похожие вопросы







Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili