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.
The Hitchhiker's Guide to MATLAB
High school cafeteria
Multiply 2 numbers
Sum the 'edge' values of a matrix
Create an index-powered vector
Matrix to column conversion
Create a matrix with difference of each row of input matrix
User defined nextpow function
Broken numlock key, oppps !
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