#1214
Lui Mihai îi place matematica distractivă, sau poate mai mult distracția decât matematica. Pentru a scăpa de teme, el a inventat operația ”smile” notată cu semnul ☺, operație care se aplică numerelor naturale nenule conform exemplelor de mai jos:
6☺4=2109☺2=7118☺5=3137☺6=1136☺6=126☺10=41643☺1500=1457154323☺23=46Profesorul de matematică i-a promis nota 10 pentru invenție, numai dacă știe să determine corect numărul divizorilor pari pentru rezultatul obținut prin operația ”smile”. Astfel, Mihai a primit N perechi de numere (a,b) pentru care trebuie să calculeze a☺b și să determine dacă rezultatul obținut are divizori pari.
Scrieți un program care citește un număr natural N și N perechi de numere naturale (a,b) și afișează:
a) pentru fiecare pereche de numere (a,b), rezultatul a☺b;
b) cel mai mic și cel mai mare rezultat a☺b care nu are divizori pari.
ONI GIM 2015, Clasa a V-a
| Problema | Inventie | Operații I/O |
inventie.in/inventie.out
|
|---|---|---|---|
| Limita timp | 0.3 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
| Id soluție | #63799457 | Utilizator | |
| Fișier | inventie.cpp | Dimensiune | 3.26 KB |
| Data încărcării | 19 Martie 2026, 11:23 | Scor/rezultat | 100 puncte |
inventie.cpp: In function 'int main()': inventie.cpp:13:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0; i<n; i++) ^ inventie.cpp:32:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=0; j<poz/2; j++) ^ inventie.cpp:44:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=0; j<poz; j++) vmin[j]=v[j]; ^ inventie.cpp:50:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=0; j<poz; j++) ^ inventie.cpp:54:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int k=0; k<poz; k++) vmin[k]=v[k]; ^ inventie.cpp:63:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=0; j<poz; j++) vmax[j]=v[j]; ^ inventie.cpp:69:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=0; j<poz; j++) ^ inventie.cpp:73:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int k=0; k<poz; k++) vmax[k]=v[k]; ^ inventie.cpp:88:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0; i<pozmin; i++) cout << vmin[i]; ^ inventie.cpp:90:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0; i<pozmax; i++) cout << vmax[i]; ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0 secunde | OK. | 4 | 4 | ||
| 1 | 0 secunde | OK. | 4 | 4 | ||
| 2 | 0 secunde | OK. | 5 | 5 | ||
| 3 | 0 secunde | OK. | 5 | 5 | ||
| 4 | 0 secunde | OK. | 4 | 4 | ||
| 5 | 0 secunde | OK. | 4 | 4 | ||
| 6 | 0 secunde | OK. | 5 | 5 | ||
| 7 | 0 secunde | OK. | 5 | 5 | ||
| 8 | 0 secunde | OK. | 5 | 5 | ||
| 9 | 0 secunde | OK. | 5 | 5 | ||
| 10 | 0 secunde | OK. | 4 | 4 | ||
| 11 | 0 secunde | OK. | 4 | 4 | ||
| 12 | 0 secunde | OK. | 4 | 4 | ||
| 13 | 0 secunde | OK. | 6 | 6 | ||
| 14 | 0 secunde | OK. | 6 | 6 | ||
| 15 | 0 secunde | OK. | 6 | 6 | ||
| 16 | 0 secunde | OK. | 6 | 6 | ||
| 17 | 0 secunde | OK. | 6 | 6 | ||
| 18 | 0 secunde | OK. | 6 | 6 | ||
| 19 | 0 secunde | OK. | 6 | 6 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Inventie 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ă.