#20
Să se scrie o funcție C++ care să determine suma divizorilor primi ai unui număr natural transmis ca parametru. Funcția întoarce rezultatul prin intermediul unui parametru de ieşire.
| Problema | Suma divizorilor primi | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64504223 | Utilizator | |
| Fișier | suma_divizorilor_primi.cpp | Dimensiune | 426 B |
| Data încărcării | 11 Mai 2026, 16:36 | Scor/rezultat | Eroare de compilare |
suma_divizorilor_primi.cpp: In function ‘void prim(int)’: suma_divizorilor_primi.cpp:6:20: error: return-statement with a value, in function returning ‘void’ [-fpermissive] 6 | if(x<2) return 0; | ^ suma_divizorilor_primi.cpp:7:21: error: return-statement with a value, in function returning ‘void’ [-fpermissive] 7 | if(x==2) return 1; | ^ suma_divizorilor_primi.cpp:8:23: error: return-statement with a value, in function returning ‘void’ [-fpermissive] 8 | if(x%2==0) return 0; | ^ suma_divizorilor_primi.cpp:10:27: error: return-statement with a value, in function returning ‘void’ [-fpermissive] 10 | if(x%d==0) return 0; | ^ suma_divizorilor_primi.cpp:11:12: error: return-statement with a value, in function returning ‘void’ [-fpermissive] 11 | return 1; | ^ suma_divizorilor_primi.cpp: In function ‘void sum_div_prim(int, int)’: suma_divizorilor_primi.cpp:16:12: error: could not convert ‘prim(n)’ from ‘void’ to ‘bool’ 16 | if(prim(n)) s=n; | ~~~~^~~ | | | void suma_divizorilor_primi.cpp:20:16: error: ‘x’ was not declared in this scope 20 | if(x%d==0) | ^ suma_divizorilor_primi.cpp:22:20: error: could not convert ‘prim(d)’ from ‘void’ to ‘bool’ 22 | if(prim(d)) s+=d; | ~~~~^~~ | | | void
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Suma divizorilor primi 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ă.