#1044
Piramide
Fascinat de Egiptul Antic, Rareș vrea să construiască cât mai multe piramide din cartonașe pătratice identice. El are la dispoziție N
cartonașe numerotate de la 1
la N
, albe sau gri, așezate în ordinea strict crescătoare a numerelor.
1
și 2
așezate alăturat, peste care va așeza cartonașul 3
(vârful piramidei).4
, 5
și 6
așezate alăturat, deasupra cărora se vor așeza cartonașele 7
și 8
, alăturate, peste care se va așeza cartonașul 9
(vârful piramidei).4
cartonașe (cu numerele de la 10
la 13
), respectiv 5
cartonașe (cu numerele de la 20
la 24
), 6
cartonașe (cu numerele de la 35
la 40
) etc., cât timp va putea construi o piramidă completă. De exemplu, dacă Rareș are N=75
cartonașe atunci el va construi piramidele complete 1
, 2
, 3
, 4
și 5
din imaginile următoare. Din cele 75
de cartonașe el va folosi doar primele 55
de cartonașe, deoarece ultimele 20
cartonașe nu sunt suficiente pentru a construi piramida 6
, cu baza formată din 7
cartonașe.Scrieţi un program care să citească numerele naturale N
(reprezentând numărul de cartonașe), X
(reprezentând numărul unui cartonaș), K
(reprezentând numărul de cartonașe albe), numerele celor K
cartonașe albe c
1
, c
2
, …, c
K
și care să determine:
a) numărul P
al piramidei complete ce conține cartonașul numerotat cu X
;
b) numărul M
maxim de piramide complete construite de Rareș;
c) numărul C
de cartonașe nefolosite;
d) numărul A
al primei piramide complete care conține cele mai multe cartonașe albe.
OJI 2014, Clasa a V-a
Problema | Piramide | Operații I/O |
piramide.in /piramide.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
Id soluție | #53917415 | Utilizator | |
Fișier | piramide.c | Dimensiune | 1.22 KB |
Data încărcării | 14 Noiembrie 2024, 18:03 | Scor / rezultat | 2 puncte |
piramide.c: In function 'main': piramide.c:46:5: warning: unknown conversion type character 0xa in format [-Wformat=] fprintf(fout ,"%d\n%\n%d",m,cartram,maxa); ^ piramide.c:46:5: warning: too many arguments for format [-Wformat-extra-args] piramide.c:8:15: warning: unused variable 'a' [-Wunused-variable] int n,x,k,a,m=0,baza,cartram,albe,maxa=-1,ccc=0,y=3;//artram sunt cartonasele ramase ^ piramide.c:10:11: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin ,"%d%d%d",&n,&x,&k); ^ piramide.c:14:15: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin ,"%d",&v[i]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Cerinta a - gresit. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 0 | ||
2 | 0 secunde | Cerinta a - corect. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 2 | ||
3 | 0 secunde | Cerinta a - gresit. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 0 | ||
4 | 0 secunde | Cerinta a - gresit. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 0 | ||
5 | 0 secunde | Cerinta a - gresit. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 0 | ||
6 | 0 secunde | Cerinta a - gresit. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 0 | ||
7 | 0.004 secunde | Cerinta a - gresit. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 0 | ||
8 | 0.012 secunde | Cerinta a - gresit. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 0 | ||
9 | 0.02 secunde | Cerinta a - gresit. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 0 | ||
10 | 0.012 secunde | Cerinta a - gresit. Cerinta b - gresit. Cerinta c - gresit. Cerinta d - gresit. | 10 | 0 | ||
Punctaj total | 2 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Piramide face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.