#4858
Subprogramul diviz are un singur parametru, n prin care primește un număr natural (n ∈ [1, 1.000.000.000]). Subprogramul returnează cel mai mare divizor al lui n care este pătrat perfect. Scrieți definiția completă a subprogramului C/C++.
Bac 2025, sesiunea specială
| Problema | diviz | Operații I/O |
diviz.in/diviz.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
| Id soluție | #64865659 | Utilizator | |
| Fișier | diviz.cpp | Dimensiune | 196 B |
| Data încărcării | 08 Iunie 2026, 12:00 | Scor/rezultat | Eroare de compilare |
diviz.cpp: In function ‘bool prim(int)’: diviz.cpp:6:9: error: lvalue required as left operand of assignment 6 | if(i*i=n) | ~^~ diviz.cpp: In function ‘int diviz(int)’: diviz.cpp:10:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 10 | if(n%i==0&&prim(n)==true) | ^~ diviz.cpp:12:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 12 | break;} | ^~~~~ diviz.cpp:12:9: error: break statement not within loop or switch diviz.cpp: At global scope: diviz.cpp:13:1: error: expected declaration before ‘}’ token 13 | } | ^ diviz.cpp: In function ‘bool prim(int)’: diviz.cpp:7:17: warning: control reaches end of non-void function [-Wreturn-type] 7 | return true;} | ^ diviz.cpp: In function ‘int diviz(int)’: diviz.cpp:12:15: warning: control reaches end of non-void function [-Wreturn-type] 12 | break;} | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema diviz 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ă.