cum scriu daca un numar este prim in c++
Răspunsuri la întrebare
bool prim(register int x){
if(x < 2) return false;
if(x < 4) return true;
register int r = x % 6;
if(r != 1 && r != 5)return false;
for(register int i = 3; i * i <= x; i+=2)
if(x%i==0)return false;
return true;
}
prim(x) -> true daca x este prim, false altfel
Un program care verifica daca un numar este prim:
#include <iostream>
using namespace std;
bool prim(register int x){
if(x < 2) return false;
if(x < 4) return true;
register int r = x % 6;
if(r != 1 && r != 5)return false;
for(register int i = 3; i * i <= x; i+=2)
if(x%i==0)return false;
return true;
}
int main(){
int x;
cin >> x;
cout << (prim(x) ? "este prim" : "nu este prim");
}
bool prim (int n){
int i;
if (n < 2)
return false;
else if (n%2 == 0 && n != 2)
return false;
else for (i = 3;i*i <= n;i += 2)
if (n%i == 0)
return false;
return true;
}
in main poti folosi subprogramul astfel:
if (prim (n))
cout << "Este prim";
else cout << "Nu este prim";
Codul din suprogram poate fi de asemenea integrat in main daca nu este permisa folosirea de subprograme.