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.
Make the vector [1 2 3 4 5 6 7 8 9 10]
36188 Solvers
Find the longest sequence of 1's in a binary sequence.
3414 Solvers
3920 Solvers
Get the area codes from a list of phone numbers
537 Solvers
Getting the indices from a vector
3413 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!