This problem is a harder version of "Problem 44448. Project Euler: Problem 14 Longest Collatz sequence", because of time limits. https://ww2.mathworks.cn/matlabcentral/cody/problems/44448
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. Which starting number, no more than N, produces the longest chain, and how long? Don't cheat!
@ Binbin Qi
Why not setting the upper time limit?
What is the running time of your solution on cody computer?
@Binbin Qi
Please print the variable "t" to help to profile.
@li haitao, I have fix the code, and you should see my running time.
@Binbin Qi,
Almost same with you. I tried many times, but could not speed up any
more.
Want to see some faster solutions in the future.
832 Solvers
Given an unsigned integer x, find the largest y by rearranging the bits in x
540 Solvers
Project Euler: Problem 3, Largest prime factor
177 Solvers
Numbers with prime factors 2, 3 and 5.
122 Solvers
Calculate the area of a triangle between three points
304 Solvers