Fişierul intrare/ieşire:desen.in, desen.outSursăONI 2018 clasa a 5-a
AutorDaniela TataruAdăugată defrancuCristian Francu francu
Timp execuţie pe test0.3 secLimită de memorie8192 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Desen (clasa a 5-a)

La ora de desen, Gigel a primit ca temă un desen care să fie realizat după următorul algoritm:

Pas 1: se desenează un triunghi, numerotat cu 1, ca în Figura 1;
Pas 2: se împarte triunghiul 1 în trei poligoane (un dreptunghi şi două triunghiuri numerotate cu 2 şi 3) trasând două segmente ca în Figura 2;
Pas 3: fiecare triunghi dintre cele două obţinute la Pas 2, se împarte în câte un dreptunghi şi câte două triunghiuri (numerotate cu 4,5,6,7) trasând câte două segmente ca în Figura 3;
Pas 4: fiecare triunghi dintre cele patru obţinute la Pas 3, se împarte în câte un dreptunghi şi câte două triunghiuri (numerotate cu 8,9,10, 11,12,13,14,15) trasând câte două segmente ca în Figura 4;
.......
Pas N: fiecare triunghi dintre triunghiurile obţinute la Pas N-1, se împarte în câte un dreptunghi şi câte două triunghiuri trasând câte două segmente.

Dacă valoarea lui K este ultimul număr folosit pentru numerotarea triunghiurilor obţinute la Pas N-1, atunci triunghiurile rezultate la Pas N vor fi numerotate cu numerele naturale distincte consecutive K+1, K+2, K+3, ..., etc.

Cerinţe

Scrieţi un program care să citească numărul natural K şi să determine:

  1. cel mai mic număr X şi cel mai mare număr Y dintre numerele folosite pentru numerotarea triunghiurilor obţinute la pasul în care este obţinut şi triunghiul numerotat cu K;
  2. numerele triunghiurilor care au fost împărţite conform algoritmului din enunţ astfel încât să fie obţinut triunghiul numerotat cu K.

Date de intrare

Fişierul de intrare desen.in conţine pe prima linie un număr natural C reprezentând cerinţa din problemă care trebuie rezolvată (1 sau 2). Fişierul conţine pe a doua linie numărul natural K.

Date de ieşire

Dacă C=1, atunci prima linie a fişierului de ieşire desen.out conţine cele două numere naturale X şi Y, separate printr-un singur spaţiu, reprezentând răspunsul la cerinţa 1 a problemei.

Dacă C=2, atunci prima linie a fişierului de ieşire desen.out conţine un şir de numere naturale ordonate crescător, separate prin câte un spaţiu, reprezentând răspunsul la cerinţa 2 a problemei.

Restricţii

  • 2 ≤ K ≤ 9223372036854775807 (=263-1)
  • doar triunghiurile sunt numerotate
  • pentru rezolvarea corectă a cerinţei 1 se acordă 40 de puncte
  • pentru rezolvarea corectă a cerinţei 2 se acordă 60 de puncte.

Exemplu

desen.indesen.outExplicaţie
1
13
8 15
Cerinţa este 1, K=13. Aşa cum arată în Figura 4, la Pas 4 se obţin triunghiurile
numerotate cu X=8, 9, 10, 11, 12, 13, 14, Y=15.
2
13
1 3 6
Cerinţa este 2, K=13. Aşa cum arată Figura 4, triunghiul numerotat cu K=13 se
obţine din triunghiul 6. Triunghiul 6 este obţinut din triunghiul 3 care este obţinut din
triunghiul 1.
Trebuie sa te autentifici pentru a trimite solutii. Click aici