Cerința
- 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
). - 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.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa pe ecran unul dintre mesajele: prim
, aproape prim
, patrat prim
sau compus
.
Restricții și precizări
1 < n ≤ 2.000.000.000
Exemplu
Intrare
20
Ieșire
compus
Explicație
Numărul 20=2*2*5
, deci este număr compus.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema prim_aproapeprim_patratprim_compus:
#include <iostream>
#include <cmath>
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;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1316 prim_aproapeprim_patratprim_compus
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1316 prim_aproapeprim_patratprim_compus de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!