Fie număr natural n. Acestuia i se aplică în mod repetat următoarele transformări:
dacă n este par, devine n/2
dacă 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.
Răspunsuri la întrebare
Răspuns de
17
#include <iostream>
using namespace std;
int main()
{
int n,nrt=1;
cin>>n;
while(n!=1)
{
nrt++;
if(n%2==0) n/=2;
else n=3*n+1;
}
cout<<nrt;
return 0;
}
using namespace std;
int main()
{
int n,nrt=1;
cin>>n;
while(n!=1)
{
nrt++;
if(n%2==0) n/=2;
else n=3*n+1;
}
cout<<nrt;
return 0;
}
Alte întrebări interesante
Chimie,
9 ani în urmă
Matematică,
9 ani în urmă
Geografie,
9 ani în urmă
Matematică,
10 ani în urmă
Limba română,
10 ani în urmă