#2663
Trebuie să definiți trei funcții:
Funcția NrDiv primește ca parametru un număr natural n și returnează numărul divizorilor lui n
Funcția NextNrDiv primește ca parametru un număr natural n și returnează cel mai mic număr natural, strict mai mare decât n, care are același număr de divizori ca și n.
Funcția PrevNrDiv primește ca parametru un număr natural n și returnează cel mai mare număr natural, strict mai mic decât n, care are același număr de divizori ca și n. Dacă acest număr nu există, funcția va returna valoarea -1.
Folclorul informatic
| Problema | Divisors | Operații I/O |
divisors.in/divisors.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64443483 | Utilizator | |
| Fișier | divisors.cpp | Dimensiune | 399 B |
| Data încărcării | 07 Mai 2026, 10:26 | Scor/rezultat | 0 puncte |
divisors.cpp: In function ‘int NextNrDiv(int)’: divisors.cpp:20:5: warning: this ‘while’ clause does not guard... [-Wmisleading-indentation] 20 | while(c!=NrDiv(i)) | ^~~~~ divisors.cpp:22:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘while’ 22 | return i; | ^~~~~~ divisors.cpp: In function ‘int PrevNrDiv(int)’: divisors.cpp:30:1: warning: no return statement in function returning non-void [-Wreturn-type] 30 | } | ^ divisors.cpp: In function ‘int NrDiv(int)’: divisors.cpp:12:9: warning: ‘i’ is used uninitialized [-Wuninitialized] 12 | if(i*i==n) | ~^~ divisors.cpp:8:9: note: ‘i’ was declared here 8 | int i; | ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | Depășit | Limita de timp depășită | 10 | 0 | Exemplu | |
| 2 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 3 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 4 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 5 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 6 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 7 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 8 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 9 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 10 | Depășit | Limita de timp depășită | 10 | 0 | ||
| Punctaj total | 0 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Divisors 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ă.