287
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