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.
Remove any row in which a NaN appears
Which doors are open?
Find the biggest digit in a matrix
Find two triangular numbers whose sum is input.
List all of the integer points in a bounded feasble region
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