Răspuns :
#include <bits/stdc++.h>
using namespace std;
long long n, i, x, k, s, d, kinv, j, nrperf, nrp, nrpal;
bool prim;
int main()
{
cin >> n;
for(i = 1 ; i <= n ; i ++)
{
cin >> x;
// Punctul a)
s = 0;
for(d = 1; d * d < x; d ++)
if(x % d == 0)
s = s + d + x / d;
if(d * d == x) s = s + d;
if(s - x == x) nrperf ++;
// Punctul b)
prim = true;
for (j = 2; j * j <= x; j ++)
if(x % j == 0)
{
prim = false;
break;
}
if(x == 1 || x == 0) prim = false;
if( prim ) nrp ++;
// Punctul c)
k = x;
kinv = 0;
while( k != 0)
{
kinv = kinv * 10 + k % 10;
k = k / 10;
}
if(kinv == x) nrpal ++;
}
cout << nrperf << "\n";
cout << nrp << "\n";
cout << nrpal;
return 0;
}
using namespace std;
long long n, i, x, k, s, d, kinv, j, nrperf, nrp, nrpal;
bool prim;
int main()
{
cin >> n;
for(i = 1 ; i <= n ; i ++)
{
cin >> x;
// Punctul a)
s = 0;
for(d = 1; d * d < x; d ++)
if(x % d == 0)
s = s + d + x / d;
if(d * d == x) s = s + d;
if(s - x == x) nrperf ++;
// Punctul b)
prim = true;
for (j = 2; j * j <= x; j ++)
if(x % j == 0)
{
prim = false;
break;
}
if(x == 1 || x == 0) prim = false;
if( prim ) nrp ++;
// Punctul c)
k = x;
kinv = 0;
while( k != 0)
{
kinv = kinv * 10 + k % 10;
k = k / 10;
}
if(kinv == x) nrpal ++;
}
cout << nrperf << "\n";
cout << nrp << "\n";
cout << nrpal;
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!