Cerința
Se dau n
numere naturale. Aflaţi câte dintre ele sunt palindrom prim norocoase. Un număr este palindrom prim norocos dacă este palindrom (egal cu răsturnatul său, de exemplu 121
), prim (are exact 2
divizori, de exemplu 3
) şi norocos (pătratul numărului se poate scrie ca sumă de numere consecutive, exemplu 3
. 3 * 3 = 9 = 2 + 3 + 4
).
Date de intrare
Se va citi de la tastatura numărul n
si n
numere naturale separate prin spații.
Date de ieșire
Se va afisa numarul de numere care respecta conditiile.
Restricții și precizări
1 ≤ n ≤ 1000
- cele
n
numere vor fi mai mici decât2.000.000.000
.
Exemplu
Intrare
6 2 3 5 7 11 24
Ieșire
4
Explicație
Sunt 6
numere, dintre care doar 4
respectă condițiile: 3
, 5
, 7
şi 11
.
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 palindrom_prim_norocoase :
#include <iostream>
using namespace std;
int prim(int n)
{
if (n < 2) return 0;
if (n == 2) return 1;
if (n % 2 == 0) return 0;
for (int i = 3; i * i < n; i++)
if (n % i == 0) return 0;
return 1;
}
int rasturnat(int n)
{
int ogl = 0;
while (n)
{
ogl = ogl * 10 + n % 10;
n = n / 10;
}
return ogl;
}
int palindrom(int n)
{
if (n == rasturnat(n)) return 1;
return 0;
}
int norocos(int n)
{
if (n % 2 == 1) return 1;
return 0;
}
int main()
{
int n, x, c = 0;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x;
if (palindrom(x) && norocos(x) && prim(x)) c++;
}
cout << c;
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 #1669 palindrom_prim_norocoase
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1669 palindrom_prim_norocoase 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!