#1612
Cifre10
Elevii clasei pregătitoare se joacă la matematică cu numere. Învățătoarea are un săculeț plin cu jetoane, pe fiecare dintre ele fiind scrisă câte o cifră. Fiecare elev și-a ales din săculeț mai multe jetoane, cu care și-a format un număr. Pentru ca totul să fie mai interesant, elevii s-au grupat în perechi. Doamna învățătoare a oferit fiecărei perechi de elevi câte o cutiuță pentru ca cei doi să își pună împreună jetoanele. De exemplu, dacă unul din elevii unei echipe și-a ales jetoane cu care a format numărul 5137131
iar celălalt elev și-a ales jetoane cu care a format numărul 6551813
, atunci cutiuța echipei va conţine 5
jetoane cu cifra 1
, câte 3
jetoane cu cifra 3
şi 5
şi câte un jeton cu cifrele 6
, 7
şi 8
.
Doar Andrei stătea supărat pentru că numărul de elevi al clasei era impar iar el nu avea partener, motiv pentru care nu și-a mai ales jetoane. Din această cauză, doamna învățătoare i-a spus:
“- Alege o echipă din a cărei cutiuță poţi lua o parte din jetoane, dar ai grijă ca fiecare dintre cei doi elevi să-și mai poată forma numărul lui din jetoanele rămase, iar tu să poți forma un număr nenul cu jetoanele extrase!“.
Dar cum Andrei nu se mulţumea cu puţin, a vrut să aleagă acea echipă din a cărei cutiuță îşi poată forma un număr de valoare maximă folosind jetoanele extrase.
Scrieţi un program care să citească numărul N
de cutiuțe și numerele formate de elevii fiecărei perechi și care să determine:
1) Numărul de cutiuțe din care Andrei poate lua jetoane respectând condiția pusă de doamna învățătoare;
2) Care este cel mai mare număr nenul pe care îl poate forma Andrei respectând aceeași condiție.
OJI 2016, Clasa a VI-a
Problema | Cifre10 | Operații I/O |
![]() cifre10.in /cifre10.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
Id soluție | #50473004 | Utilizator | |
Fișier | cifre10.cpp | Dimensiune | 809 B |
Data încărcării | 10 Aprilie 2024, 19:31 | Scor / rezultat | Eroare de compilare |
cifre10.cpp: In function 'int main()': cifre10.cpp:13:15: warning: the address of 'a' will always evaluate as 'true' [-Waddress] while(a) { ^ cifre10.cpp:14:28: error: invalid operands of types 'int [10]' and 'int' to binary 'operator%' int r = a % 10; ^ cifre10.cpp:16:11: error: invalid operands of types 'int [10]' and 'int' to binary 'operator/' a /= 10; ^ cifre10.cpp:16:11: error: in evaluation of 'operator/=(int [10], int)' cifre10.cpp:18:15: warning: the address of 'b' will always evaluate as 'true' [-Waddress] while(b) { ^ cifre10.cpp:19:28: error: invalid operands of types 'int [10]' and 'int' to binary 'operator%' int r = b % 10; ^ cifre10.cpp:21:11: error: invalid operands of types 'int [10]' and 'int' to binary 'operator/' b /= 10; ^ cifre10.cpp:21:11: error: in evaluation of 'operator/=(int [10], int)' cifre10.cpp:25:29: error: 'd' was not declared in this scope while(a[j] + b[j] - d >= max(a[j],b[j])) { ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cifre10 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ă.