Răspuns :
#include <iostream>
using namespace std;
int main()
{
int n,i,ok=1;
cin>>n;
if(n==1) cout<<"NU";
else
{
for(i=2;i<=n/2;i++)
{
if(n%i==0) ok=0;
}
}
if(ok==1) cout<<"DA";
else cout<<"NU";
}
using namespace std;
int main()
{
int n,i,ok=1;
cin>>n;
if(n==1) cout<<"NU";
else
{
for(i=2;i<=n/2;i++)
{
if(n%i==0) ok=0;
}
}
if(ok==1) cout<<"DA";
else cout<<"NU";
}
Am creat un algoritm foarte eficient pentru verificarea unui nr prim. Sare din doi in doi evitand astfel comparatiile inutile (cu toate numerele pare-in afara de 2).
Poti sa-l studiezi daca vrei:
bool CheckPrime(int Nr){
bool IsPrime=true;
double rad=sqrt(Nr);
if(Nr!=2){
if(Nr%2!=0){
for(int x=3;x<=rad;x+=2){
if(Nr%x==0) IsPrime=false;
}
return IsPrime;
}else{
return false;
}
}else{
return true;
}
}
Poti sa-l studiezi daca vrei:
bool CheckPrime(int Nr){
bool IsPrime=true;
double rad=sqrt(Nr);
if(Nr!=2){
if(Nr%2!=0){
for(int x=3;x<=rad;x+=2){
if(Nr%x==0) IsPrime=false;
}
return IsPrime;
}else{
return false;
}
}else{
return true;
}
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!