Cerința
Pentru orice număr natural N
se asociază o cifră din mulțimea {0,1,2,3,4,5}
, numită amprentă, astfel: se calculează diferența pozitivă a sumelor cifrelor de pe pozițiile pare, respectiv impare; dacă această diferență este mai mică decât 10
atunci algoritmul se oprește, în caz contrar algoritmul se aplică în continuare, repetat, asupra diferenței pozitive, până când se va obține o cifră mai mică decât 10
, iar dacă cifra este mai mare decât 5
, atunci cifrele 6,7,8,9
se vor înlocui respectiv cu 5,4,3,2
. De exemplu pentru numărul N = 90
amprenta este 2
, iar pentru N = 91909091
amprenta este 1
.
1) Se dă un număr natural N
şi se cere determinarea amprentei acestuia.
2) Se dau două numere naturale P, Q
şi o cifră C
din {0,1,2,3,4,5}
şi se cere determinarea numărului de valori dintre P
şi Q
, inclusiv, care au amprenta egală cu C
.
Date de intrare
Fișierul de intrare amprenta.in
conține pe primul rând numărul T
reprezentând tipul cerinței.
Dacă T==1
, atunci pe al doilea rând se află scris un număr natural N
.
Dacă T==2
, atunci pe al doilea rând se află scrise numerele naturale P, Q şi C
, separate prin câte un spațiu.
Date de ieșire
În fișierul de ieșire amprenta.out
se va scrie pe primul rând un singur număr natural, corespunzător cerinței și cazului T
.
Restricții și precizări
0 ≤ N ≤ 10^18
0 ≤ P ≤ 10^18
0 ≤ Q ≤ 10^18
- Pentru
30%
din teste diferența pozitivă dintreP
șiQ
va fi mai mică decât10.000
- Pentru alte
20%
din teste diferența pozitivă dintreP
șiQ
va fi mai mică decât100.000
Exemplul 1:
amprenta.in
1 29
amprenta.out
4
Explicație
Diferența pozitivă este 7
, iar amprenta va fi 4
.
Exemplul 2:
amprenta.in
2 1 9 2
amprenta.out
2
Explicație
Amprentă egală cu 2
au numerele 2
și 9
.