fbpx

Problema #407 – OglinditPrim – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Se dă un șir cu n numere naturale. Determinați suma celor care au oglinditul număr prim.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale.

Date de ieşire

Programul afișează pe ecran numărul S, reprezentând rezultatul cerut.

Restricţii şi precizări

  • 1 ≤ n ≤ 1000
  • cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu

Intrare

6
133 35 41 31 90 7

Ieșire

206

Explicație

Dintre cele 6 numere citite au oglinditul număr prim: 133 35 31 7. Suma lor este 206.

#include <bits/stdc++.h>
using namespace std;
int prim (int n)
{
    if (n==0 || n==1) return 0;
    if(n==2) return 1;
    if(n%2==0) return 0;
    for (int i=3;i*i<=n;i += 2)
        if(n%i==0) return 0;
    return 1;
}
int main()
{
    long long n,x,s=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        int ogl=0;
        int aux=x;
        while(x!=0)
        {
            ogl=ogl*10+x%10;
            x/=10;
        }
        if(prim(ogl)) s=s+aux;
    }
    cout<<s;
    return 0;
}
Comentarii

S-ar putea sa iti placa