Subject Computer Science C-Family Programming


The hailstone sequence is formed in the following way:

If n is even, divide it by 2 to get n'
if n is odd, multiply it by 3 and add l to get n'

It is conjectured that for any positive integer number n, the sequence will always end in the repeating cycle: 4, 2, 1, 4, 2, 1,.... Suffice to say, when n = = 1, we will say the sequence has ended.

Write a program to determine the largest value in the sequence for a given n.


The first line of input contains a single integer P, (1$ \le$P$ \le$100000), which is the number of data sets that follow. Each data set should be processed identically and independently.

Each data set consists of a single line of input consisting of two space separated decimal integers. The first integer is the data set number. The second integer is n, (l$ \le$n$ \le$100, 000), which is the starting value.


For each data set there is a single line of output consisting of the data set number, a single space, and the largest value in the sequence starting at and including n.

Sample Input

1 1
2 3
3 9999
4 100000

Sample Output

1 1
2 16
3 101248
4 100000

INDENT THE CODE And comment it.

Solution Preview

This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.

#include <iostream>

using namespace std;

int main()
int nstart, n, max; //Declare variables
while(true) //Endless loop to keep running new starting values
max = 0; //Reset max value
cout << "Please enter in the starting value (0 to exit): "; //Next two lines, prompt and read integer for n, assume valid inputs > 0 always...

This is only a preview of the solution. Please use the purchase button to see the entire solution


or free if you
register a new account!

Related Homework Solutions

Get help from a qualified tutor
Live Chats