Проверить является ли число простым
Я написал код который подставляет числа в формулу и собственно выводит числа,но мне надо ещё перепроверить является ли это число простым,что тут надо дописать?Помогите пожалуйста
for(int x=0; x<=28; x++){
int number = 2 * pow(x, 2) + 29;
if( number % 2 != 0 && number %5 != 0){
cout << number << "Число простое" << endl;
}
else {
cout << number << "Число не простое" << endl;
}
Ответы (2 шт):
Автор решения: O-Kolp
→ Ссылка
cout << " ПРОВЕРКА ЧИСЛА НА ПРОСТОТУ.\n";
int x, q;
do
{
cout << " Введите число > 1 : ";
cin >> x;
}while (x <= 1);
q = static_cast<int>(sqrt(x));
for (int i = 2; i <= (q + 1); i++)
{
if (x % i == 0 && x != i)
{
cout << " ЧИСЛО " << x << " делится на "<<i<<" не является ПРОСТЫМ.\n";
break;
}
if (i == q+1)
cout << " ЧИСЛО " << x << " - ПРОСТОЕ.\n";
}
Автор решения: WierdGreenCat
→ Ссылка
Попробуйте так:
bool is_prime(uint64_t number)
{
if(number <= 1) return false;
if(number == 2) return true;
if(number % 2 == 0) return false;
uint64_t limiter = std::sqrt(number) + 1;
for (uint64_t i = 3; i < limiter; i+=2)
if (number % i == 0) return false;
return true;
}