The last test is not appropriate. 13916767508299776 exceeds flintmax, eg. 9.007199254740992e+15. It causes precision problem when it is passed to euler003.
I am failing to pass the last test of this code ,I am using max and factor ,any hint to pass last , 7th number test?
why it is not accepting the answer ;we cant make such small solutions we are not like professional coder
still something fishy with the 3rd problem, example:
x = uint64(321676750829977632);
num2str(x) -> 321676750829977600
rem(x,10) -> 0
euler003(x) -> 83653987
ok now, it seems this was only an issue with my matlab version (7.7) but was not present in the version running the solvers (which seems to have uint64 arithmetic supported!, man, I need an upgrade...)
You should pass the x values as a string. A double precision number cannot resolve all the digits that one needs to solve the test suite problems:
>> x = 321676750829977632;
>> x == x+1
I agree that there is an issue with the last test suite problem. passing it as a uint64 would work too.
Yep I got "Error: Out of memory. Type HELP MEMORY for your options." :-)
function y = euler003(x)
Number of 1s in the Binary Representation of a Number
Angle between two vectors
Is the input divisible by 3?
Max of a Vector
Matlab Basics - Convert a row vector to a column vector
Poker Series 05: isStraight
Steal, Share, or Catch
Getting logical indexes
Poker Series 02: isQuads
Scoring for oriented dominoes
Find the treasures in MATLAB Central and discover how the community can help you!
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office