The length of a hailstone sequence is the number of terms it contains. For example, the hailstone sequence in example 1 (5, 16,
8, 4, 2, 1) has a length of 6 and the hailstone sequence in example 2 (8, 4, 2, 1) has a length of 4. Write the method hailstoneLength(int n), which returns the length of the hailstone sequence that starts with n. /** Returns the length of a hailstone sequence that starts with n, * as described in part (a). * Precondition: n > 0 */ public static int hailstoneLength(int n)
int hailstoneLength(int n) //defining method hailstoneLength
int t=1; //defining integer variable assign
while(n!=1) //define a loop that checks value is not equal to 1
if(n%2==0) // check even number condition
n=n/2; // divide the value by 2 and store its remainder value in n
t++; //increment value of t by 1.
n=n*3+1; //calculate and hold value in n
t++; //increment value of t variable by 1
return t; //return value
int main() //defining main method
int n; //defining integer variable
cout<<"Enter any number: "; //print message
cin>> n; //input value
cout<<hailstoneLength(n); //call method and print its value
Enter any number: 3
Program description can be given as follows:
In the given C++ language program an integer method "hailstoneLength", is declared, that accepts an integer variable "n" in its parameter.
Inside the method, an integer variable t is declared, that assign a value that is 1, in the next line, a while loop is declared, that uses if block to check even condition if number is even it divide by 2 and increment t variable value by 1.
If the number is odd it will multiply the value by 3 and add 1 and increment t by 1 then it will go to if block to check value again. when value of n is not equal to 1 it will return t variable value.
In the main method, an integer variable "n" is used that call the method and print its return value.