Problem 57492. Compute the Tetris sequence
Solution Stats
Problem Comments
-
5 Comments
Yeah, pre-allocation was the first thing I did (and it helped cut execution time to about one quarter). After that I spent about two hours profiling the code and trying out different kinds of caching to avoid recomputing binary expansions, but they were all slower than the benchmark code in the end (dictionaries in particular). Same for using bitand, that made things (much) worse.
I may try again, but I'm not seeing any obvious avenues for refinement right now.
Side note: disallowing "if" (to combat cheating?) is a pretty tough restriction.
OK, I removed the restriction on IF. In any case, David found a clever way around that restriction (as well as submitted legitimate solutions.)
You did try the command that I hinted at. I did not compute any binary representations.
Yeah, not being able to used if statements required me to get creative too, doubly so since (in the interest of cutting down running time) I did not want to compute a result needlessly. Turns out that while loops can be used as a sort of poor man's if.
Perhaps I'll try that function again then. I was really surprised that it made the code run (much) slower, I would've thought that it was implemented in some optimized way that would beat hand-coded dec2bin()'s by a handy amount. It might be that I did not use it in the optimal manner.
Solution Comments
Show commentsProblem Recent Solvers5
Suggested Problems
-
299 Solvers
-
Square Digits Number Chain Terminal Value (Inspired by Project Euler Problem 92)
230 Solvers
-
258 Solvers
-
Fermat's Last Theorem - Fermat's conjecture
101 Solvers
-
1404 Solvers
More from this Author291
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!