Problem 21. Return the 3n+1 sequence for n
Solution Stats
Problem Comments
-
6 Comments
a bit tricky but nice
I like this problem, because I learnt about the Collatz sequence story. Very interessting.
function c = collatz(n)
c(1) = n;
while (1>0)
if (n == 1)
c(end+1) = n;
break
elseif (mod(n,2) == 0)
c(end+1) = n;
n = n/2;
collatz(n);
else
c(end+1) = n;
n = 3*n + 1;
collatz(n);
end
end
c(1) = [];
end
This solution is correct as I ran the Test Cases myself. But the compiler timed out. What should I do ?
Solution Comments
Show commentsProblem Recent Solvers8347
Suggested Problems
-
10734 Solvers
-
Relative ratio of "1" in binary number
1455 Solvers
-
Find the index of the largest value in any vector X=[4,3,4,5,9,12,0,4.....5]
382 Solvers
-
Is this triangle right-angled?
5961 Solvers
-
Find out sum and carry of Binary adder
1535 Solvers
More from this Author96
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!