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.
Rezolvare
Răspunsuri la întrebare
Răspuns de
2
#include<iostream.h>
int n, q=1;
void main()
{
cout<<"n="; cin>>n;
cout<<n<<" ";
while(n!=1)
{
if(n%2==0)
{
n=n/2;
cout<<n<<" ";
q++;
}
else
{n=3*n+1;
cout<<n<<" ";
q++;
} }
cout<<endl;
cout<<"Are "<<q<<" termeni.";
}
int n, q=1;
void main()
{
cout<<"n="; cin>>n;
cout<<n<<" ";
while(n!=1)
{
if(n%2==0)
{
n=n/2;
cout<<n<<" ";
q++;
}
else
{n=3*n+1;
cout<<n<<" ";
q++;
} }
cout<<endl;
cout<<"Are "<<q<<" termeni.";
}
12numaieu45:
Coroana? :D
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă