#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 | #985130 | Utilizator | |
Fișier | collatz.cpp | Dimensiune | 188 B |
Data încărcării | 24 Octombrie 2015, 14:36 | Scor / rezultat | Eroare de compilare |
collatz.cpp:2:2: error: invalid preprocessing directive #using #using namespace std; ^ collatz.cpp: In function 'int main()': collatz.cpp:5:3: error: 'cin' was not declared in this scope cin>>n; ^ collatz.cpp:5:3: note: suggested alternative: In file included from collatz.cpp:1:0: /usr/include/c++/4.8/iostream:60:18: note: 'std::cin' extern istream cin; /// Linked to standard input ^ collatz.cpp:13:2: error: 'cout' was not declared in this scope cout<<i; ^ collatz.cpp:13:2: note: suggested alternative: In file included from collatz.cpp:1:0: /usr/include/c++/4.8/iostream:61:18: note: 'std::cout' extern ostream cout; /// Linked to standard output ^
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ă.