Răspuns :
Răspuns:
1.#include
#include
using namespace std;
int main()
{
int n,d1,d2;
cin>>n;
for (d1=2;d1*d1<=n;++d1)
if (n%d1==0)
break;
if (n%d1!=0)
cout<<"prim\n";
else
if (d1*d1==n)
cout<<"patrat prim\n";
else
{
d2=d1;
for (d2=d1;d2*d2<=n/d1;++d2)
if ((n/d1)%d2==0)
break;
if ((n/d1)%d2==0)
cout<<"compus\n";
else
cout<<"aproape prim\n";
}
return 0;.
NegrucaPantera avatar
Enunt:Un număr natural nenul este prim, dacă are exact doi divizori (ex. 7).
Un număr natural nenul se va numi pătrat prim, dacă este pătratul unui număr prim (ex. 49 = 7 * 7).
Un număr natural nenul se va numi aproape prim, dacă este produsul a două numere prime distincte (ex. 10 = 2 * 5).
NegrucaPantera avatar
Un număr natural nenul ce nu se încadrează în niciuna din cazurile de mai sus, se numeşte compus (ex. 8=2*2*2, 100=2*2*5*5).
Se citeşte un număr natural n. Să se identifice din ce categorie de mai sus face parte.
NegrucaPantera avatar
#include
using namespace std;
int main()
{
int n1,n2,p1,p2,p;
cin>>n1>>n2;
int c1,c2;
c1=n1; c2=n2;
p1=0;
p2=0;
if(n1%2==0)
{
p=1;
while(n1)
{
if(n1%2==0)
{
p1=(n1%10)*p+p1;
p=p*10;
}
n1=n1/10;
}
}
else
{
p=1;
while(n1)
{
if(n1%2!=0)
{
p1=(n1%10)*p+p1;
p=p*10;
}
n1=n1/10;
}
}
NegrucaPantera avatar
if(n2%2!=0)
{
p=1;
while(n2)
{
if(n2%2!=0)
{
p2=(n2%10)*p+p2;
p=p*10;
}
n2=n2/10;
}
}
else
{
p=1;
while(n2)
{
if(n2%2==0)
{
p2=(n2%10)*p+p2;
p=p*10;
}
n2=n2/10;
}
}
if(p1>p2) cout< else
if(p2>p1) cout< else
if(c1>c2) cout< else cout< return 0;
}
NegrucaPantera avatar
Enunt:Pentru un număr natural dat n, numim ParImpar următoarea operație:
dacă n este par, rezultatul este numărul scris cu cifrele pare ale lui n – de exemplu, pentru 410722 rezultatul este 4022;
dacă n este impar, rezultatul este numărul scris cu cifrele impare ale lui n – de exemplu, pentru 357103 rezultatul este 35713.
NegrucaPantera avatar
Se citesc două numere naturale. Să se determine numărul pentru care rezultatul operației ParImpar este mai mare.
NegrucaPantera avatar
#include
using namespace std;
ifstream f ("alo.in");
ofstream g ("alo.out");
int cif1(long long a)
{
while(a>9)
a/=10;
return a;
}
int main()
{
long long n,x,nr,i,mi;
f>>nr;
f>>n;
for(i=1;i<=n;i++)
{
f>>x;
f>>mi;
long long cx=x;
if(cif1(x)==2 and cx%10==5)
nr+=mi;
if(cif1(x)==1 and cx%10==5)
nr-=2*mi;
}
g<}
NegrucaPantera avatar
Enunt:Problema #2569
NegrucaPantera avatar
de pe pbinfo
Explicație: