#821
Să se scrie o funcție C++ recursivă care returnează cel mai mare divizor comun a două numere transmise ca parametri.
| Problema | CmmdcRec | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64530989 | Utilizator | |
| Fișier | cmmdcrec.cpp | Dimensiune | 120 B |
| Data încărcării | 12 Mai 2026, 19:01 | Scor/rezultat | Eroare de compilare |
cmmdcrec.cpp:4:5: error: ambiguating new declaration of ‘int div(int, int)’ 4 | int div(int a,int b) | ^~~ In file included from /usr/include/c++/13/cstdlib:79, from /usr/include/c++/13/ext/string_conversions.h:43, from /usr/include/c++/13/bits/basic_string.h:4109, from /usr/include/c++/13/string:54, from /usr/include/c++/13/bits/locale_classes.h:40, from /usr/include/c++/13/bits/ios_base.h:41, from /usr/include/c++/13/ios:44, from /usr/include/c++/13/ostream:40, from /usr/include/c++/13/iostream:41, from cmmdcrec.cpp:1: /usr/include/stdlib.h:992:14: note: old declaration ‘div_t div(int, int)’ 992 | extern div_t div (int __numer, int __denom) | ^~~ cmmdcrec.cpp: In function ‘int div(int, int)’: cmmdcrec.cpp:7:28: error: cannot convert ‘div_t’ to ‘int’ in return 7 | else if(a>b) return div(a-b,b); | ~~~^~~~~~~ | | | div_t cmmdcrec.cpp:8:24: error: cannot convert ‘div_t’ to ‘int’ in return 8 | else return div(a,b-a); | ~~~^~~~~~~ | | | div_t cmmdcrec.cpp: In function ‘int main()’: cmmdcrec.cpp:14:25: error: ‘cmmdc’ was not declared in this scope 14 | cout << cmmdc(x , y) << endl; | ^~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema CmmdcRec 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ă.