== include(page="template/taskheader" task_id="cate3cifre") ==
Poveste și cerință...
Gigel, pasionat de numere, știe că orice număr natural se scrie într-o bază de numerație *b* ca o succesiune de simboluri care au asociate valori de la 0 la [*b*]-1. De exemplu numărul 7, scris în baza 10, se scrie în baza 2 ca 111[~(2)~], iar numărul 26732, scris în baza 10, se scrie în baza 37 ca o succesiune de 3 simboluri, primele două având asociată valoarea 19, iar ultimul având asociată valoarea 18. El a descoperit că există numere care au proprietatea că se scriu, în exact două baze diferite, prin exact trei simboluri identice. De exemplu, numărul 931[~(10)~] se scrie în baza 11 ca 777[~(11)~], iar în baza 30 se scrie 111[~(30)~].
h2. Date de intrare
Fișierul de intrare $cate3cifre.in$ ...
h2. Cerințe
h2. Date de ieșire
Fiind dat un număr natural [*N*], să se determine cel mai mare număr natural mai mic sau egal cu [*N*], care are proprietatea că se scrie în exact două baze diferite prin exact 3 simboluri identice.
În fișierul de ieșire $cate3cifre.out$ ...
# Să se scrie numărul determinat
# Să se scrie cele două baze determinate și valorile simbolurilor respective.
h2. Restricții
h2. Date de intrare
* $... ≤ ... ≤ ...$
Fișierul de intrare $cate3cifre.in$ conține pe prima linie cerința (1 sau 2). Pe linia a doua a fișierului de intrare se află numărul natural [*N*].
h2. Exemplu
h2. Date de ieșire
table(example).
|_. cate3cifre.in |_. cate3cifre.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
Fișierul de ieșire $cate3cifre.out$ va conține pe prima linie, dacă cerința este 1, numărul determinat. Dacă cerința este 2, prima și cea de a doua linie a fișierului de ieșire au aceeași structură: pe fiecare linie se vor scrie, separate printr-un spațiu, două numere naturale [*b*] [*c*], reprezentând baza și valoarea simbolului cerut din baza respectivă. Cele două baze se vor afișa în ordine crescătoare.
h3. Explicație
h2. Restricții
...
* 0 < *N* ≤ 1000000
* Pentru rezolvarea corectă a cerinței 1 se acordă 60 de puncte. Pentru cerința 2, se acordă 30 de puncte. Pentru 50 de puncte *N* ≤ 10000
* Numărul [*xyz[~(b)~]*] scris în baza *b* cu simbolurile [*x*], [*y*], [*z*] se scrie în baza 10 ca o valoare calculată astfel: x·b[^2^]+y·b+z (unde simbolurile [*x*], [*y*], [*z*] se înlocuiesc cu valorile asociate)
* Pentru fiecare test există soluție.
h2. Exemple
table(example).
|_. cate3cifre.in |_. cate3cifre.out |_. Explicații |
| 1
1000
| 931
| Numărul determinat este 931
Numărul determinat se scrie în baza 11 ca 777[~(11)~]
Același număr se scrie în baza 30 ca 111[~(30)~]
|
| 2
1000
| 11 7
30 1
|
|
| 1
30000
| 26733
| Numărul determinat este 26733
Numărul determinat se scrie în baza 37 ca (19)(19)(19)[~(37)~]
Același număr se scrie în baza 163 ca 111[~(163)~]
|
| 2
30000
| 37 19
163 1
|
|
== include(page="template/taskfooter" task_id="cate3cifre") ==