#654
Collatz
Fie număr natural n
. Acestuia i se aplică în mod repetat următoarele transformări:
n
este par, devine n/2
n
este impar, devine 3*n+1
În 1937 matematicianul Lothar Collatz a formulat următoarea conjectură: pentru orice număr natural, în urma transformărilor numărul devine 1.
De exemplu, pentru n=6
se obține șirul: 6 3 10 5 16 8 4 2 1
, șir care are 9
termeni.
Pentru un n
dat, determinați numărul de termeni din șirul de transformări după regula de mai sus.
Problema | Collatz | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #53636726 | Utilizator | |
Fișier | collatz.cpp | Dimensiune | 273 B |
Data încărcării | 07 Noiembrie 2024, 08:19 | Scor / rezultat | 100 puncte |
collatz.cpp: In function 'int main()': collatz.cpp:5:11: warning: unused variable 'k' [-Wunused-variable] int n,k,x,i; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 20 | 20 | Exemplu | |
2 | 0 secunde | OK. | 20 | 20 | ||
3 | 0 secunde | OK. | 20 | 20 | ||
4 | 0 secunde | OK. | 20 | 20 | ||
5 | 0 secunde | OK. | 20 | 20 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Collatz face parte din prima categorie. 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ă.