Write M file with while loop, which computes factorial of any x, (x=12).

386 views (last 30 days)
Directions:
Define x=12, Start with some value of factorial say Fact=1; - while loop condition will be x > 1 - compute factorial by multiplying the number with Fact - Reduce number by 1 - Close the while loop - Display the Fact
This is what I have so far (it is incorrect):
x=12;
while x>1
fact = x*(x-1);
x=x-1
end
disp(fact);

Accepted Answer

Ameer Hamza
Ameer Hamza on 21 Oct 2020
Edited: Ameer Hamza on 21 Oct 2020
You need to update the value of factorial at each step by using its value from the previous step
x=12;
fact = 1;
while x>1
fact = fact*x;
x=x-1;
end
disp(fact);

More Answers (1)

Chenguang Yan
Chenguang Yan on 21 Oct 2020
f = 12;
x = f;
fact = x;
while x>1
x = x-1;
fact = fact*x;
end
disp(fact)
%
assert(isequal(fact,factorial(f)))

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!