The test set gives a false impression as to Matlab's large number precision. For the case of x = 'antidisestablishmentarianism';
y_correct = [2684347378225474636827426476 13474859120710];
The eps(2684347378225474636827426476) is 5.4976e+11. An input of 'antidisestablishmentarianist' will return y_correct = [2684347378225474636827426478 13474859120710]; However, the ism y_correct would score the ist correct as Matlab cannot distinguish the two huge values. A vector output of the first part is one method to get unique solutions. A second method would require uint64 and having multiple values. I like the pairing of encryption and decryption challenges.
I understand. Thanks for the comment.
Mehmet, what Richard tried to say is that 2684347378225474636827426476 is a number greater than 2^64-1, the highest unsigned integer number that MATLAB can store with precision (which means storing this number in double will make it loose its less significant digits). Therefore, the 5th case cannot be compared exactly with the function isequal. You must use some tolerance when comparing such numbers, abs(x-y) < tol, or use characters for an exact solution, like '2684347378225474636827426476'.
PS: And any solutions generating this number by any means are not correct at all, inclunding mine. We are all trying to store 3GB in a 2GB pendrive, it will not store everything.
Return the 3n+1 sequence for n
intersection of matrices
List all of the integer points in a bounded feasble region
Write out numbers in words
Write c^3 as sum of two squares a^2+b^2
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