Ionel i-a dat numărul său de telefon N
lui Vasile, dar a greșit exact o cifră de pe o anumită poziție. Se cunoaște că pe acea poziție cifra corectă este o cifra pară.
Cerința
Determinați numărul minim NR
de numere de telefon pe care trebuie să le încerce Vasile astfel încât printre ele să se afle cu siguranță numărul corect de telefon al lui Ionel.
Date de intrare
Fișierul de intrare numar4.in
conține pe prima linie numărul N
greșit de
Ionel i-a dat numărul său de telefon N
lui Vasile, dar a greșit exact o cifră de pe o anumită poziție. Se cunoaște că pe acea poziție cifra corectă este o cifra pară.
Cerința
Determinați numărul minim NR
de numere de telefon pe care trebuie să le încerce Vasile astfel încât printre ele să se afle cu siguranță numărul corect de telefon al lui Ionel.
Date de intrare
Fișierul de intrare numar4.in
conține pe prima linie numărul N
greșit de
telefon transmis de Ionel.
Date de ieșire
Fișierul de ieșire numar4.out
va conține pe prima linie numărul NR
de
combinații necesare lui Vasile pentru a nimeri cu siguranță și numărul corect al lui Ionel.
Restricții și precizări
- Numărul
N
nu poate începe cu cifra0
. Numărul corect poate incepe cu cifra0
. - Numărul
N
are cel mult9
cifre.
Exemplul 1
numar4.in
72361
numar4.out
23
Explicație
In numarul corect:
- Pe prima poziție poate fi una din cifrele:
0
,2
,4
,6
,8
sau - Pe a doua poziție poate fi una din cifrele:
0
,4
,6
,8
sau - Pe a treia poziție poate fi una din cifrele:
0
,2
,4
,6
,8
sau - Pe a patra poziție poate fi una din cifrele:
0
,2
,4
,8
sau - Pe a cincea poziție poate fi una din cifrele:
0
,2
,4
,6
,8
.
Așadar numărul total de combinații posibile este 5+4+5+4+5=23
.
Exemplul 2
numar4.in
27544
numar4.out
22
#include <bits/stdc++.h> using namespace std; ifstream fin("numar4.in"); ofstream fout("numar4.out"); int main() { int n,cnt=0; fin>>n; while(n!=0) { if(n%2==0) cnt+=4; else if(n%2==1) cnt+=5; n=n/10; } fout<<cnt; return 0; }