You said: "a fraction with the numerator smaller than the denominator", so test cases 3 to 6 are not consistent to this sentence. :-/
The Test Suite and problem statement are now consistent with each other, but I don't think anybody learned at school to write 1 9/7, rather than 2 2/7.
Other issues with the Test Suite (or problem statement): FIRSTLY, 1 2/3 is equal to 1 4/6, or 1 6/9, et cetera, but only the first option is accepted in the Test Suite. SECONDLY, the rounding used in the inputs means that more correct answers would be e.g. 1.33 = 1 33/100. LASTLY, there is no possible way to know that 2.00 should be represented as 1 5/5, rather than 1 4/4, or 1 3/3 et cetera.
We should not round real numbers if we want their rational representation. The real number 1.33 is not represented as 1+1/3, but rather as 1+33/100([1 33 100]). While rounding values, I was able to find a kind of ugly solution for this problem. However, the last test case does not make sense. The problem should require the minimum rational number to avoid multiple answers. Therefore, an integer number such as 2 should be represented as [1,1,1], 3 should be [1,2,1] and so on. Please, fix your test suite, it is a good problem.
962 Solvers
875 Solvers
Back to basics 11 - Max Integer
678 Solvers
329 Solvers
Return elements unique to either input
551 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!