Cerința
Gigel se plimbă pe o stradă pe care a mai fost de mai multe ori. El se plictisește și se gândește să citească numerele caselor și în ordinea inversă a cifrelor. Nu trece mult timp și Gigel observă că unele numere au o proprietate specială, sunt identice oricum ar fi citite. Astfel el se gândește să afle câte numere de pe acea stradă sunt citite identic din ambele sensuri (de la stânga la dreapta și de la dreapta la stânga).
Fiind dat n
numărul de case şi un șir de n
valori naturale, reprezentând numerele inscripţionate pe cele n
case, aflați numărul de numere care au proprietatea specială.
Date de intrare
Fișierul de intrare plimbare.in
conține pe prima linie un număr natural n
, iar pe următoarea linie n
numere naturale, separate prin câte un spaţiu, cu semnificaţia din enunţ.
Date de ieșire
Fișierul de ieșire plimbare.out
va conține pe prima linie numărul cerut.
Restricții și precizări
2 ≤ n ≤ 7000
- numerele caselor vor fi mai mici decât
1.000.000.000
Exemplu
plimbare.in
5 124 53 121 57 22
plimbare.out
2
Explicație
Numerele 121
și 22
sunt singurele numere care au proprietatea că, citind cifrele lor în ordine inversă, se obține același număr.
#include <bits/stdc++.h> using namespace std; ifstream fin("plimbare.in"); ofstream fout("plimbare.out"); int ogl(int n) { int ogl=0; int x=n; while(n!=0) { ogl=ogl*10+n%10; n=n/10; } if(x==ogl) return 1; else return 0; } int main() { int n,a[7001],cnt=0; fin>>n; for(int i=1;i<=n;i++) fin>> a[i]; for(int i=1;i<=n;i++) { if(ogl(a[i])==1) cnt++; } fout<<cnt; return 0; }