Ce e gresit? Primesc doar 90 de puncte.
#include
using namespace std;
int main()
{ int X, b=0;
cin>>X;
while (X!=0)
{ b=b*10+X%10;
X=X/10; }
int i = 2, este_prim = 1;
while (i < b) {
if ( b % i == 0)
este_prim = 0;
++i;
}
if (b == 1)
este_prim = 0;
if (este_prim == 1){
cout<<"DA";}
else{
cout<<"NU";}
return 0;
}
Denhar:
Care este cerința exactă a problemei ?
Răspunsuri la întrebare
Răspuns de
0
Dacă condiție e să verifici dacă numărul introdus este prim sau nu, prea multe operații de verificare efectuiezi, e necesar să verifici doar o condiție de împărțire la el însuși și la 1.
#include <iostream>
using namespace std;
int main()
{
int n, i;
bool prim_sau_nu = true;
cout << "Dati numarul intreg n: ";
cin >> n;
for(i = 2; i <= n / 2; ++i)
{
if(n % i == 0)
{
prim_sau_nu = false;
break;
}
}
if (prim_sau_nu)
cout << "Numarul introdus este prim!";
else
cout << "Numarul introdus nu este prim!";
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Fizică,
9 ani în urmă