Problem 42935. Sums of cubes and squares of sums
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.
Can someone point me in the right direction?
n = 1e5;
y_correct = uint64(500010000050000);
I get 500010000050005. I do not know how to go beyond double precision.
function y = cubesLessSquare(n)
N = (((sum((1:n).^3)*2 - sum(1:n)^2)*2/n))
% double to char
C = sprintf('%f',N)
% char to vector
Y = C - '0'
% take out the dot and the numbers after the dot
Dot = find(Y<0)
Y([Dot:end]) = 
% join the the numbers
Z = sprintf('%d',Y)
% make to double
y = str2num(Z)
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 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.
flintmax('double') = 2^53 < 15503197751395200
eps(15503197751395200) = 2
Problem Recent Solvers203
More from this Author4
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!