#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 | #50179419 | Utilizator | |
Fișier | collatz.cpp | Dimensiune | 190 B |
Data încărcării | 30 Martie 2024, 02:27 | Scor / rezultat | Eroare de compilare |
collatz.cpp:4:5: error: expected initializer before 'int' int n, k=0; ^ collatz.cpp:5:1: error: 'cin' does not name a type cin>>n; ^ collatz.cpp:6:1: error: expected unqualified-id before 'while' while(n!=1) ^ collatz.cpp:13:1: error: 'cout' does not name a type cout<<k; ^ collatz.cpp:14:1: error: expected unqualified-id before 'return' return 0; } ^ collatz.cpp:14:11: error: expected declaration before '}' token return 0; } ^
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ă.