#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 | #64706331 | Utilizator | |
| Fișier | f_p-numar_bac.cpp | Dimensiune | 278 B |
| Data încărcării | 25 Mai 2026, 10:47 | Scor/rezultat | Eroare de compilare |
f_p-numar_bac.cpp:5:16: error: ‘intb’ has not been declared 5 | int kpn(int a, intb, int k) | ^~~~ f_p-numar_bac.cpp: In function ‘int kpn(int, int, int)’: f_p-numar_bac.cpp:8:18: error: ‘b’ was not declared in this scope 8 | for(int i=a;i<=b;i++) | ^ f_p-numar_bac.cpp:24:9: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 24 | int main() | ^~ f_p-numar_bac.cpp:24:9: note: remove parentheses to default-initialize a variable 24 | int main() | ^~ | -- f_p-numar_bac.cpp:24:9: note: or replace parentheses with braces to value-initialize a variable f_p-numar_bac.cpp:25:1: error: a function-definition is not allowed here before ‘{’ token 25 | { | ^ f_p-numar_bac.cpp:30:2: error: expected ‘}’ at end of input 30 | } | ^ f_p-numar_bac.cpp:6:1: note: to match this ‘{’ 6 | { | ^ f_p-numar_bac.cpp:8:11: warning: control reaches end of non-void function [-Wreturn-type] 8 | for(int i=a;i<=b;i++) | ^
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ă.