#2663
Divisors
C++
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 | #54117733 | Utilizator | |
Fișier | divisors.cpp | Dimensiune | 434 B |
Data încărcării | 20 Noiembrie 2024, 09:35 | Scor / rezultat | 50 puncte |
divisors.cpp: In function 'int NextNrDiv(int)': divisors.cpp:20:13: warning: control reaches end of non-void function [-Wreturn-type] aux++;}} ^ divisors.cpp: In function 'int PrevNrDiv(int)': divisors.cpp:30:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ divisors.cpp: In function 'int NrDiv(int)': divisors.cpp:11:12: warning: 'ct' may be used uninitialized in this function [-Wmaybe-uninitialized] return ct; ^ divisors.cpp: In function 'int NextNrDiv(int)': divisors.cpp:18:6: warning: 'ct' may be used uninitialized in this function [-Wmaybe-uninitialized] {if(NrDiv(aux)==NrDiv(n)) ^ divisors.cpp:18:6: warning: 'ct' may be used uninitialized in this function [-Wmaybe-uninitialized] divisors.cpp: In function 'int PrevNrDiv(int)': divisors.cpp:27:6: warning: 'ct' may be used uninitialized in this function [-Wmaybe-uninitialized] {if(NrDiv(aux)==NrDiv(n)) ^ divisors.cpp:27:6: warning: 'ct' may be used uninitialized in this function [-Wmaybe-uninitialized] divisors.cpp: In function 'int main()': divisors.cpp:38:20: warning: 'ct' may be used uninitialized in this function [-Wmaybe-uninitialized] fout << NrDiv(n) << " " << NextNrDiv(n) << " "; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 10 | 10 | Exemplu | |
2 | Depășit | Limita de timp depășită | 10 | 0 | ||
3 | Depășit | Limita de timp depășită | 10 | 0 | ||
4 | 0.004 secunde | OK. | 10 | 10 | ||
5 | Depășit | Limita de timp depășită | 10 | 0 | ||
6 | Depășit | Limita de timp depășită | 10 | 0 | ||
7 | 0.008 secunde | OK. | 10 | 10 | ||
8 | 0 secunde | OK. | 10 | 10 | ||
9 | 0.072 secunde | OK. | 10 | 10 | ||
10 | Depășit | Limita de timp depășită | 10 | 0 | ||
Punctaj total | 50 |
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ă.