Problem 1130. Challenging perms function!
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.
Problem Recent Solvers10
Return a list sorted by number of occurrences
Basics: 'Find the eigenvalues of given matrix
Magic is simple (for beginners)
Output any real number that is neither positive nor negative
More from this Author92
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!