Fişierul intrare/ieşire: | aproape.in, aproape.out | Sursă | OJSEPI 2021, clasa a 9-a |
Autor | Alexandru Petrescu | Adăugată de | |
Timp execuţie pe test | 0.1 sec | Limită de memorie | 32000 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Aproape
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 lui N î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 cu 1 mai mare decât cifra corespunzătoare din N.
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.
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 două 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
- 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!
Exemplu
aproape.in | aproape.out |
---|---|
1 1903 | 4 |
2 1903 | 5 |
3 1903 | 15 |
Explicaţie
Numerele aproape de 1903 sunt: 1803, 1902, 1904, 1913 şi 2903.
Numerele aproape de cel puţin un număr aproape de 1903 sunt: 1703, 1802, 1804, 1813, 1901, 1903, 1905, 1912, 1914, 1923, 2803, 2902, 2904, 2913 şi 3903.