#3612
Un număr natural nenul se numește p-număr dacă are aceeași paritate cu suma divizorilor săi pozitivi. Exemplu: 10 și 25 sunt p-numere (10 are aceeași paritate cu 18=1+2+5+10, iar 25 are aceeași paritate cu 31=1+5+25).
Subprogramul kpn, are trei parametri, a, b și k, în această ordine, prin care primește câte un număr natural din intervalul [1,106] (a≤b). Subprogramul returnează cel de al k-lea p-număr din intervalul [a,b] sau -1, dacă nu există cel puțin k astfel de numere în acest interval.
Scrieți definiția completă a subprogramului.
Subiect Bacalaureat 2020, sesiunea august-septembrie
| Problema | F_p-numar_bac | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64758358 | Utilizator | |
| Fișier | f_p-numar_bac.cpp | Dimensiune | 269 B |
| Data încărcării | 28 Mai 2026, 10:26 | Scor/rezultat | Eroare de compilare |
f_p-numar_bac.cpp: In function ‘int kpn(int, int, int)’: f_p-numar_bac.cpp:7:20: error: ‘lt’ was not declared in this scope 7 | for (int i = a; i <= b; i++) { | ^~ f_p-numar_bac.cpp:7:23: error: expected primary-expression before ‘=’ token 7 | for (int i = a; i <= b; i++) { | ^ f_p-numar_bac.cpp:7:26: error: expected ‘)’ before ‘;’ token 7 | for (int i = a; i <= b; i++) { | ~ ^ | ) f_p-numar_bac.cpp:7:1: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 7 | for (int i = a; i <= b; i++) { | ^~~ f_p-numar_bac.cpp:7:28: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 7 | for (int i = a; i <= b; i++) { | ^ f_p-numar_bac.cpp:7:28: error: ‘i’ was not declared in this scope f_p-numar_bac.cpp:6:5: warning: unused variable ‘nr’ [-Wunused-variable] 6 | int nr = 0; | ^~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema F_p-numar_bac 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ă.