#4206
Să se scrie o funcție C++ recursivă care să returneze numărul cifrelor divizibile cu 3 ale unui număr natural n transmis ca parametru.
| Problema | CifDiv3Rec | Operații I/O |
cifdiv3rec.in/cifdiv3rec.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64132491 | Utilizator | |
| Fișier | cifdiv3rec.cpp | Dimensiune | 247 B |
| Data încărcării | 19 Aprilie 2026, 18:20 | Scor/rezultat | Eroare de compilare |
cifdiv3rec.cpp: In function ‘int cifra_div(int)’: cifdiv3rec.cpp:11:35: error: no matching function for call to ‘div(int)’ 11 | else if (n%10%3==0) return 1+ div(n/10); | ~~~^~~~~~ In file included from /usr/include/c++/13/cstdlib:79, from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:42, from cifdiv3rec.cpp:1: /usr/include/stdlib.h:992:14: note: candidate: ‘div_t div(int, int)’ 992 | extern div_t div (int __numer, int __denom) | ^~~ /usr/include/stdlib.h:992:14: note: candidate expects 2 arguments, 1 provided /usr/include/c++/13/cstdlib:217:3: note: candidate: ‘lldiv_t __gnu_cxx::div(long long int, long long int)’ 217 | div(long long __n, long long __d) | ^~~ /usr/include/c++/13/cstdlib:217:3: note: candidate expects 2 arguments, 1 provided /usr/include/c++/13/cstdlib:181:3: note: candidate: ‘ldiv_t std::div(long int, long int)’ 181 | div(long __i, long __j) _GLIBCXX_NOTHROW { return ldiv(__i, __j); } | ^~~ /usr/include/c++/13/cstdlib:181:3: note: candidate expects 2 arguments, 1 provided cifdiv3rec.cpp:12:18: error: no matching function for call to ‘div(int)’ 12 | else return div(n/10); | ~~~^~~~~~ /usr/include/stdlib.h:992:14: note: candidate: ‘div_t div(int, int)’ 992 | extern div_t div (int __numer, int __denom) | ^~~ /usr/include/stdlib.h:992:14: note: candidate expects 2 arguments, 1 provided /usr/include/c++/13/cstdlib:217:3: note: candidate: ‘lldiv_t __gnu_cxx::div(long long int, long long int)’ 217 | div(long long __n, long long __d) | ^~~ /usr/include/c++/13/cstdlib:217:3: note: candidate expects 2 arguments, 1 provided /usr/include/c++/13/cstdlib:181:3: note: candidate: ‘ldiv_t std::div(long int, long int)’ 181 | div(long __i, long __j) _GLIBCXX_NOTHROW { return ldiv(__i, __j); } | ^~~ /usr/include/c++/13/cstdlib:181:3: note: candidate expects 2 arguments, 1 provided cifdiv3rec.cpp: In function ‘int main()’: cifdiv3rec.cpp:18:18: error: no matching function for call to ‘div(int&)’ 18 | else cout<<div(n); | ~~~^~~ /usr/include/stdlib.h:992:14: note: candidate: ‘div_t div(int, int)’ 992 | extern div_t div (int __numer, int __denom) | ^~~ /usr/include/stdlib.h:992:14: note: candidate expects 2 arguments, 1 provided /usr/include/c++/13/cstdlib:217:3: note: candidate: ‘lldiv_t __gnu_cxx::div(long long int, long long int)’ 217 | div(long long __n, long long __d) | ^~~ /usr/include/c++/13/cstdlib:217:3: note: candidate expects 2 arguments, 1 provided /usr/include/c++/13/cstdlib:181:3: note: candidate: ‘ldiv_t std::div(long int, long int)’ 181 | div(long __i, long __j) _GLIBCXX_NOTHROW { return ldiv(__i, __j); } | ^~~ /usr/include/c++/13/cstdlib:181:3: note: candidate expects 2 arguments, 1 provided cifdiv3rec.cpp: At global scope: cifdiv3rec.cpp:21:5: error: redefinition of ‘int main()’ 21 | int main() | ^~~~ cifdiv3rec.cpp:14:5: note: ‘int main()’ previously defined here 14 | int main() | ^~~~ cifdiv3rec.cpp: In function ‘int main()’: cifdiv3rec.cpp:27:13: error: ‘CifDiv3Rec’ was not declared in this scope 27 | fout << CifDiv3Rec(n) << "\n"; | ^~~~~~~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema CifDiv3Rec 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ă.