Un număr natural se numește aproape prim dacă poate fi scris ca produs de două numere naturale prime distincte.
Cerinţa
Se citește un număr natural n
și apoi n
numere naturale. Să se determine cel mai mare număr aproape prim dintre cele date, și de câte ori apare.
Date de intrare
Programul citește de la tastatură numărul n
, și apoi n
numere naturale.
Date de ieşire
Programul afișează pe ecran numere M
și C
, separate prin exact un spațiu, reprezentând cel mai mare număr aproape prim dintre cele date și numărul său de apariții.
Restricţii şi precizări
1 ≤ n ≤ 100
- cele
n
numere citite sunt cuprinse între1
și1.000.000.000
Exemplu
Intrare
6 35 55 12 6 25 50
Ieșire
55 1
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 aprim2:
#include <iostream>
using namespace std;
int main(){
int n, max = 0, nrap = 1, x;;
bool aprim;
cin >> n;
for( ; n ; --n)
{
cin >> x;
int d=2;
aprim = false;
while(!aprim && d*d<x){
if(x % d == 0){
int a = d, b = x / d;
int prim = true;
if(a < 2)
prim = false;
if(a > 2 && a % 2 == 0)
prim = false;
for(int k = 3; k * k <= a ; k += 2)
if(a % k == 0)
prim = false;
if(prim){
prim = true;
if(b < 2)
prim = false;
if(b > 2 && b % 2 == 0)
prim = false;
for(int k = 3; k * k <= b ; k += 2)
if(b % k == 0)
prim = false;
if( prim )
aprim = true;
}
}
if(d==2)
d++;
else
d += 2;
}
if(aprim){
if(x > max)
max = x, nrap = 1;
else
if(x == max)
nrap ++;
}
}
cout << max << " " << nrap;
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 #381 aprim2
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #381 aprim2 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!