#1214
Inventie
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=210
9☺2=711
8☺5=313
7☺6=113
6☺6=12
6☺10=416
43☺1500=14571543
23☺23=46
Profesorul 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 | #50554356 | Utilizator | |
Fișier | inventie.cpp | Dimensiune | 2.49 KB |
Data încărcării | 15 Aprilie 2024, 09:08 | Scor / rezultat | 0 puncte |
inventie.cpp: In function 'int main()': inventie.cpp:24:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < n; i ++){ ^ inventie.cpp:30:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(dif % 2 == 1 && nrc1 + nrc2 > ncmxd + ncmxs){ ^ inventie.cpp:34:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if(dif % 2 == 1 && nrc1 + nrc2 == ncmxd + ncmxs){ ^ inventie.cpp:35:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(maxdif < dif || (maxdif == dif && sum > maxs) ) ^ inventie.cpp:35:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(maxdif < dif || (maxdif == dif && sum > maxs) ) ^ inventie.cpp:35:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(maxdif < dif || (maxdif == dif && sum > maxs) ) ^ inventie.cpp:38:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(dif % 2 == 1 && nrc1 + nrc2 < ncmid + ncmis){ ^ inventie.cpp:42:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if(dif % 2 == 1 && nrc1 + nrc2 == ncmid + ncmis){ ^ inventie.cpp:43:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(mindif > dif || (mindif == dif && sum < mins) ) ^ inventie.cpp:43:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(mindif > dif || (mindif == dif && sum < mins) ) ^ inventie.cpp:43:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(mindif > dif || (mindif == dif && sum < mins) ) ^ inventie.cpp:50:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(sum % 2 == 1 && nrc1 + nrc2 > ncmxd + ncmxs){ ^ inventie.cpp:54:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if(sum % 2 == 1 && nrc1 + nrc2 == ncmxd + ncmxs){ ^ inventie.cpp:55:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(maxdif < dif || (maxdif == dif && sum > maxs) ) ^ inventie.cpp:55:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(maxdif < dif || (maxdif == dif && sum > maxs) ) ^ inventie.cpp:55:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(maxdif < dif || (maxdif == dif && sum > maxs) ) ^ inventie.cpp:58:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(sum % 2 == 1 && nrc1 + nrc2 < ncmid + ncmis){ ^ inventie.cpp:62:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if(sum % 2 == 1 && nrc1 + nrc2 == ncmid + ncmis){ ^ inventie.cpp:63:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(mindif > dif || (mindif == dif && sum < mins) ) ^ inventie.cpp:63:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(mindif > dif || (mindif == dif && sum < mins) ) ^ inventie.cpp:63:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(mindif > dif || (mindif == dif && sum < mins) ) ^ inventie.cpp:68:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(maxdif != -1 && mindif != CMAX) ^ inventie.cpp:22:125: warning: unused variable 'k' [-Wunused-variable] unsigned long long n, maxdif = -1, maxs = -1, ncmxd = 0, ncmxs = 0, mindif = CMAX, mins = CMAX, ncmid = 19, ncmis = 19, k = 0, k2 = 0; ^ inventie.cpp:22:132: warning: unused variable 'k2' [-Wunused-variable] unsigned long long n, maxdif = -1, maxs = -1, ncmxd = 0, ncmxs = 0, mindif = CMAX, mins = CMAX, ncmid = 19, ncmis = 19, k = 0, k2 = 0; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | Depășit | Limita de timp depășită | 4 | 0 | ||
1 | Depășit | Limita de timp depășită | 4 | 0 | ||
2 | Depășit | Limita de timp depășită | 5 | 0 | ||
3 | Depășit | Limita de timp depășită | 5 | 0 | ||
4 | Depășit | Limita de timp depășită | 4 | 0 | ||
5 | Depășit | Limita de timp depășită | 4 | 0 | ||
6 | Depășit | Limita de timp depășită | 5 | 0 | ||
7 | Depășit | Limita de timp depășită | 5 | 0 | ||
8 | Depășit | Limita de timp depășită | 5 | 0 | ||
9 | Depășit | Limita de timp depășită | 5 | 0 | ||
10 | Depășit | Limita de timp depășită | 4 | 0 | ||
11 | Depășit | Limita de timp depășită | 4 | 0 | ||
12 | Depășit | Limita de timp depășită | 4 | 0 | ||
13 | Depășit | Limita de timp depășită | 6 | 0 | ||
14 | Depășit | Limita de timp depășită | 6 | 0 | ||
15 | Depășit | Limita de timp depășită | 6 | 0 | ||
16 | Depășit | Limita de timp depășită | 6 | 0 | ||
17 | Depășit | Limita de timp depășită | 6 | 0 | ||
18 | Depășit | Limita de timp depășită | 6 | 0 | ||
19 | Depășit | Limita de timp depășită | 6 | 0 | ||
Punctaj total | 0 |
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ă.