Question: Write a code in C. The following iterative sequence is defined for the set of positive integers: n n/2 (n is even) n

Write a code in C.

The following iterative sequence is defined for the set of positive integers:


n → n/2 (n is even) n → 3n + 1 (n is odd)


Using the rule above and starting with 13, we generate the following sequence:


13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1


It can be seen that this sequence (starting at 13 and finishing at 1) contains 10 terms. Although it has not been proved yet (Collatz Problem), it is thought that all starting numbers finish at 1.


Given n, output which starting number, under n, produces the longest chain. (If there are multiple starting numbers that produces longest chain, output the largest possible starting number, under n).


NOTE: Once the chain starts the terms are allowed to go above the value of n.


Sample input:

1000


Sample output:

871


Step by Step Solution

3.45 Rating (161 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

code include using namespace std function to print th... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Algorithms Questions!