I dont understand what you wanted to do with your test no.4. why dont you just check our answer against the actual factorial, instead of hard coding (truncated) numbers?
testcase is nok:
6.6895e+198==factorial(120)
ans =
0
Use if statement for test 4...
fail for x=120?! 'isequal(factorial(120),y)' gives me 0...
My solution works in Matlab, but fails the last test here.. :(
I am trying to solve this problem and first 2 test cases are passed, but assertion is failing for last test case. I also used the format as 'short eng', here the y_correct is read by Matlab as '6.689500000000000e+198', but my program is calculating answer as '6.689502913449124e+198' for x = 120 and thats why its failing. Any suggestions ?
There is something wrong with the last test; The number are truncated. y_correct should be 6.689502913449135e+198; while in the test it is given as 6.689500000000000e+198
fake solution, it works until there is a mistake in test 4
I KNOW THIS SOLUTION IS CORRECT....STUPID IDE IS NOT ACCEPTING IT....YOU CAN RUN IT ON A STANDALONE MATLAB AND SEE IF IT WORKS!
Nice solution for that rounding problem.
There should be a test in the test suite to catch any uses of "factorial" in the submitted code, as is done here:
http://www.mathworks.com/matlabcentral/cody/problems/498-find-the-kronecker-tensor-product-without-using-kron
Also, is the convention here to round to five significant digits? If so, this should probably be noted in the problem statement.
436 Solvers
Cell Counting: How Many Draws?
598 Solvers
Create matrix of replicated elements
324 Solvers
497 Solvers
Flip the vector from right to left
2834 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!