#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 | #64929459 | Utilizator | |
| Fișier | diviz.cpp | Dimensiune | 140 B |
| Data încărcării | 15 Iunie 2026, 17:33 | Scor/rezultat | Eroare de compilare |
diviz.cpp: In function ‘int diviz(int)’: diviz.cpp:9:12: warning: init-statement in selection statements only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 9 | if(sqrt(i)==floor(sqrt(i)) | ^~~~ diviz.cpp:9:35: error: expected ‘;’ before ‘return’ 9 | if(sqrt(i)==floor(sqrt(i)) | ^ | ; 10 | return i; | ~~~~~~ diviz.cpp:9:19: warning: value computed is not used [-Wunused-value] 9 | if(sqrt(i)==floor(sqrt(i)) | ~~~~~~~^~~~~~~~~~~~~~~~ diviz.cpp:12:1: error: expected primary-expression before ‘}’ token 12 | } | ^ diviz.cpp:10:22: error: expected ‘)’ before ‘}’ token 10 | return i; | ^ | ) 11 | 12 | } | ~ diviz.cpp:9:11: note: to match this ‘(’ 9 | if(sqrt(i)==floor(sqrt(i)) | ^ diviz.cpp:12:1: error: expected primary-expression before ‘}’ token 12 | } | ^ diviz.cpp:12:1: warning: no return statement in function returning non-void [-Wreturn-type]
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ă.