Fișierul intrare/ieșire cartonas.in, cartonas.out Sursă ONI 2009 clasa a 5-a
Autor Roxana Tîmplaru Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.1 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Cartonaș (clasa a 5-a)

Notă: modul de punctare a fost modificat față de original, pentru a acorda punctaje parțiale.

Avem la dispoziție cartonașe dreptunghiulare pe care sunt inscripționate numere naturale și o valoare dată x. Pornind de la un număr N de astfel de cartonașe, așezate alăturat și considerate a forma nivelul de bază (notat cu 1), se formează următoarele _N_-1 niveluri după regulile de mai jos (a se vedea și figura din exemplu pentru clarificare):

  • numărul de cartonașe de pe un nivel oarecare este cu 1 mai mic decât numărul de cartonașe de pe nivelul imediat inferior
  • numărul înscris pe orice cartonaș se obține ca sumă a numerelor de pe cartonașele peste care “se așează”, cartonașe aflate pe nivelul imediat inferior.

Pe fiecare nivel se calculează suma numerelor de pe toate cartonașele. Se vor forma astfel N sume care se reprezintă fiecare în baza 2.

Exemplu:

Cerință

a) Să se afișeze numărul inscripționat pe cartonașul de pe ultimul nivel.
b) Să se precizeze numărul nivelului pe care se află valoarea dată x
c) Să se afișeze numerele nivelelor în ordinea descrescătoare a numărului de cifre egale cu 1 din reprezentarea în baza 2 a sumei fiecărui nivel. Dacă există două nivele cu sumă având același număr de cifre egale cu 1, se va afișa mai întâi nivelul cu numărul mai mic.

Date de intrare

În fișierul de intrare cartonas.in se află:

  • pe prima linie un număr natural N care reprezintă numărul de cartonașe ce formează nivelul 1 (nivelul de bază)
  • pe a doua linie un număr natural x care reprezintă valoarea căutată
  • pe a treia linie se află cele N numere de pe nivelul 1 (de bază), separate două câte două printr-un spațiu

Date de ieșire

În fișierul de ieșire cartonas.out se va scrie:

  • pe prima linie numărul inscripționat pe cartonașul de pe ultimul nivel
  • pe linia a doua se va afișa nivelul pe care se află valoarea căutată x
  • pe linia a treia se vor afișa numerele de nivel în ordinea cerută, separate două câte două printr-un spațiu

Restricții

  • N este un număr natural mai mic sau egal cu 100
  • x este număr natural de maxim 7 cifre
  • Valorile de pe cartonașe sunt numere naturale de maxim 7 cifre
  • Se știe că există suficiente cartonașe cu inscripția oricărui număr necesar, numerele de pe nivelul de bază nu conduc la numere pe celelalte nivele care să aibă mai mult de 7 cifre, iar sumele de pe fiecare nivel au maxim 9 cifre.
  • Se acordă punctaje parțiale astfel: punctul a) 20%, punctul b) 20%, punctul c) 60%

Exemplu

cartonas.in cartonas.out Explicații
4
8
1 2 3 2
18
3
2 3 4 1
Pe ultimul nivel se va găsi valoarea 18, iar valoarea 8 se găsește pe nivelul al treilea, conform desenului și cerințelor.
Pe primul nivel S=1+2+3+2=8=1000 (în baza 2), adică are o cifră 1
Pe al doilea nivel S=3+5+5=13=1101 (în baza 2), adică are 3 cifre 1
Pe al treilea nivel S=8+10=10010 (în baza 2), adică 2 cifre 1
Pe al patrulea nivel S=18=10010 (în baza 2), adică 2 cifre 1

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 5 categorii