#2830
Subprogramul DivImpar are doi parametri, a și b, prin care primește două numere naturale din intervalul [1,105]. Subprogramul returnează cel mai mare divizor comun impar al numerelor a și b.
Scrieți definiția completă a subprogramului.
Subiect Bacalaureat 2015, sesiunea specială
| Problema | DivImpar | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64913334 | Utilizator | |
| Fișier | divimpar.cpp | Dimensiune | 278 B |
| Data încărcării | 12 Iunie 2026, 10:42 | Scor/rezultat | Eroare de compilare |
divimpar.cpp: In function ‘int DivImpar(int, int)’: divimpar.cpp:11:6: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 11 | for (int o=b-1; o>0; b--) | ^~~ divimpar.cpp:13:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 13 | if (a%i==0 && i%2!=0) a1++; | ^~ divimpar.cpp:12:13: warning: unused variable ‘a1’ [-Wunused-variable] 12 | int a1=0,b1=0; | ^~ divimpar.cpp:12:18: warning: unused variable ‘b1’ [-Wunused-variable] 12 | int a1=0,b1=0; | ^~ divimpar.cpp:13:31: error: ‘a1’ was not declared in this scope; did you mean ‘a’? 13 | if (a%i==0 && i%2!=0) a1++; | ^~ | a divimpar.cpp:14:15: error: ‘o’ was not declared in this scope 14 | if (b%o==0 && o%2!=0) a1++; | ^ divimpar.cpp:14:31: error: ‘a1’ was not declared in this scope; did you mean ‘a’? 14 | if (b%o==0 && o%2!=0) a1++; | ^~ | a divimpar.cpp:15:16: error: ‘o’ was not declared in this scope 15 | if (i==o)a1++; | ^ divimpar.cpp:15:18: error: ‘a1’ was not declared in this scope; did you mean ‘a’? 15 | if (i==o)a1++; | ^~ | a divimpar.cpp:16:13: error: ‘a1’ was not declared in this scope; did you mean ‘a’? 16 | if (a1==3) return 1; | ^~ | a
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema DivImpar face parte din a doua categorie. Pentru aceste probleme se folosește un program suport, furnizat de propunătorul problemei. 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ă.