Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Let n 0 be a given positive integer. For i = 0, 1, 2, ... define if n i is even,

ID: 3633770 • Letter: L

Question

Let n0 be a given positive integer. For i = 0, 1, 2, ... define
if ni is even, then ni+1 = ni/2
if ni is odd, then ni+1 = 3ni + 1
if ni is 1, the sequence ends

Numbers that are generated this way are called hailstones. Write a program that generates some hailstones. Your program should use the function
void hailstones(int n);

to compute and print the sequence generated by n. The output of your program might look as follows:

Hailstones generated by 77:
77 232 116 58 29 88
44 22 11 34 17 52
26 13 40 20 10 5
16 8 4 2 1
Number of hailstones generated : 23

You might find that all the sequences you generate are finite. Whether this is true in general is still an open question. Hint: Use variables of type long instead of int if the program misbehaves.

Explanation / Answer

please rate - thanks

#include <iostream>
using namespace std;
void hailstones(long);
int main()
{
long i;
cout<<"enter starting number: ";
cin>>i;
hailstones(i);
system("pause");
return 0;
}
void hailstones(long n)
{int count=1;
cout<<"Hailstones generated by "<<n<<" "<<n<<" ";
while(n!=1)
   {if(n%2==0)
      n/=2;
   else
      n=n*3+1;
    count++;
    cout<<n<<" ";
    if(count%6==0)
         cout<<endl;
    }
   cout<<endl;
}