I did not originally look to see exactly how far one could go. It looks like, IF one is careful in the important expression, you should be able to get to 3329020. I'd expect that the code I'd write that would solve this to go as far as 3329020 would employ an initial test to know if n is even or odd, changing the expression I'd write depending on the parity of n. Of course that branch would also increase the complexity, so raising the Cody score.
This appears to be true only for sequences of numbers starting from 1 and some combinations of these sequences.
it is exactly the right way to solve this one.
Could you please explain a bit about how the problem was converted to a polynomial function?
works for n up to 3329020
works for n up to 2642245, so it doesn't use the full potential of the uint64
isequal ignores the data type of the values in determining whether they are equal.
isequal(uint64(15503197751395200),15503197751395199,15503197751395201,15503197751395200)
flintmax('double') = 2^53 < 15503197751395200
eps(15503197751395200) = 2
Big letters, small letters and a bit of luck.
1081 Solvers
Project Euler: Problem 16, Sums of Digits of Powers of Two
103 Solvers
Matrix indexing with two vectors of indices
523 Solvers
Convert a Cell Array into an Array
281 Solvers
2092 Solvers