#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 | #64108754 | Utilizator | |
| Fișier | collatz.cpp | Dimensiune | 183 B |
| Data încărcării | 17 Aprilie 2026, 12:36 | Scor/rezultat | Eroare de compilare |
collatz.cpp: In function ‘int main()’: collatz.cpp:10:2: error: ‘else’ without a previous ‘if’ 10 | else{n=3n+i; | ^~~~ collatz.cpp:10:9: error: unable to find numeric literal operator ‘operator""n’ 10 | else{n=3n+i; | ^~ collatz.cpp:10:9: note: use ‘-fext-numeric-literals’ to enable more built-in suffixes collatz.cpp:10:12: error: ‘i’ was not declared in this scope 10 | else{n=3n+i; | ^
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ă.