390
Cerința
Se dau n numere naturale. Se numește număr par asociat unui număr x numărul obținut din cifrele pare ale lui x luate în ordinea în care apar ele în x. De exemplu, numărul 3246456 are ca număr par asociat pe 24646, iar 37030 pe 0. Dacă numărul nu are cifre pare, atunci el nu are număr par asociat. Numărul 3731 nu are număr par asociat.
Exemplu
Intrare
5 45456 474 201102 2352345 234
Ieșire
2
Explicație
Dintre numerele citite 474 și 201102 au numerele pare asociate palindrom (44 și 2002).
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, cnt=0, x;
cin >> n;
for(int i = 1; i <= n; ++i){
cin >> x;
int nr = 0, put = 1;
bool ok = false; /// o sa stiu daca numarul a continut cifre pare
if(x == 0)
cnt++;
while(x){ /// calculez numerele pare
if(x % 2 == 0)
ok = true, nr = (x % 10) * put + nr, put *= 10;
x/=10;
}
if(ok){
int a = nr, b = 0;
while(nr){ /// calculez rasturnatul numarului par
b = b * 10 + nr % 10;
nr/=10;
}
if(a == b) /// compar rasturnatele sa vad daca este palindrom
cnt++; /// maresc un contor ca sa tin minte cate sunt
}
}
cout << cnt;
return 0;
}
Comentarii