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 Solvers8348
Suggested Problems
-
Find the two most distant points
2880 Solvers
-
Flip the main diagonal of a matrix
834 Solvers
-
708 Solvers
-
Find the index of the largest value in any vector X=[4,3,4,5,9,12,0,4.....5]
382 Solvers
-
929 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!