#654
Fie număr natural n. Acestuia i se aplică în mod repetat următoarele transformări:
n este par, devine n/2n 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 | #64108715 | Utilizator | |
| Fișier | collatz.cpp | Dimensiune | 169 B |
| Data încărcării | 17 Aprilie 2026, 12:35 | Scor/rezultat | Eroare de compilare |
collatz.cpp: In function ‘int main()’: collatz.cpp:7:22: error: expected ‘;’ before ‘else’ 7 | if (n%2==1) n=n/2 | ^ | ; 8 | else { n=3*n/2 | ~~~~
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ă.