Se dă un număr N
în baza 10
. Un număr M
se numește aproape de N
dacă îndeplinește următoarele trei condiții:
- Are același număr de cifre cu
N
. - Reprezentarea în baza
10
diferă față de cea a luiN
în exact o poziție. Altfel spus, nu mai mult, nici mai puțin, o singură cifră diferă. - Această cifră este fie cu
1
mai mică, fie cu1
mai mare decât cifra corespunzătoare dinN
.
Exemplu: Să presupunem că N = 1903
. Un exemplu de număr M
care este aproape de N
este 1913
, pentru că diferă (doar) cifra zecilor, iar diferența între 0
(cifra zecilor în N
) și 1
(cifra zecilor în M
) este 1
. Numerele 1903
, 903
și 1893
nu sunt aproape de N
.
Cerința
Cunoscând numărul N
, să se scrie un program care determină:
- Numărul de cifre ale acestui număr.
- Numărul de numere aproape de
N
. - Numărul de numere aproape de cel puțin un număr aproape de
N
.
Date de intrare
Fișierul de intrare aproape.in
conține pe prima linie un număr V
a cărui valoare poate fi doar 1
, 2
sau 3
, iar pe a doua linie numărul natural N
.
Date de ieșire
Dacă valoarea lui V
este 1
, atunci fișierul aproape.out
va conține pe prima linie un singur număr ce reprezintă numărul de cifre ale lui N
.
Dacă valoarea lui V
este 2
, atunci fișierul aproape.out
va conține pe prima linie un singur număr natural ce reprezintă numărul de numere aproape de N
.
Dacă valoarea lui V
este 3
, atunci fișierul aproape.out
va conține pe prima linie un singur număr natural ce reprezintă numărul de numere aproape de un număr aproape de N
.
Restricții și precizări
0 ≤ N < 1.000.000.000
- Pentru teste în valoare de 20 de puncte avem
V = 1
. - Pentru teste în valoare de 30 de puncte avem
V = 2
. - Pentru teste în valoare de 50 de puncte avem
V = 3
. - Aveți grijă să nu numărați vreun număr de mai multe ori!
Exemplul 1:
aproape.in
1 1903
aproape.out
4
Exemplul 2:
aproape.in
2 1903
aproape.out
5
Explicație
Numerele aproape de 1903
sunt: 1803
, 1902
, 1904
, 1913
și 2903
.
Exemplul 3:
aproape.in
3 1903
aproape.out
15
Explicație
Cele 15
numere sunt: 1703
, 1802
, 1804
, 1813
, 1901
, 1903
, 1905
, 1912
, 1914
, 1923
, 2803
, 2902
, 2904
, 2913
și 3903
.