MATLAB code find factorial of n num

can you please Write a MATLAB code to Find factorial of a given number N?

3 Comments

You search in google/ mathworks you will get plenty...
What have you tried?
ı need n as a input. ı searvched and saw some explains but ı didnt like them. ı really am new about this. ı dont want factorial(n). ı want a independed place from the function to put inputs.
BTW the factorial function is already part of MATLAB, see factorial.

 Accepted Answer

Hey,
The factorial of a number is calculated as
F(n) = (n-1)*(n-2)*(n-3)…….1 and F(0) = 1 always;
So we start from the right most side like F(p) where p = 1 initially and keep incrementing the value of p till n; The resultant value is your answer. I have written the function with variable n. replace n with any integer to get its factorial number;
Attaching the code for your reference.
function fact = factorial(n)
fact = 1; %base case, for F(0);
for i = 1:n %looping through values from 1 : n to multiply each value;
fact = fact*i; %multiplying with our previous values.
end
end
The fact will have your desired factorial of the integer you called function with.

1 Comment

Factorial starts with n* not (n-1)* . The code has it right.

More Answers (4)

okh so we are intresting in to finding the value of 7 factorial
programming:-
%calculation of factorial
n=7;
factvalue=1;
for i=1:7
factvalue=factvalue*i
end

3 Comments

Why bother assigning to n if you are not going to use it?
its obvious !because the notation of factorial are denoted by n!
here we are finding the value of n! where n=7.
thats why we assinginf here n=7
So if I coded
%calculation of factorial
n=7;
factvalue=1;
for i=1:9
factvalue=factvalue*i
end
then afterwards factvalue would hold n! = 7! ? Or would it hold 9! ? Where is the connection between the value of n and the value calculated?
Ahmet Zahit Akpinar
Ahmet Zahit Akpinar on 10 Mar 2022
Moved: DGM on 21 Sep 2024
I made it for 10! but you can change 10 by any value
n=1; i=1;
while i<=10
n=n*i;
i=i+1;
fprintf('n=%d\n')
end

1 Comment

What is the point of printing a bunch of instances of "n=" repeatedly to console? Why is anything printed in the loop? Why use a while loop instead of a for loop?
What's wrong with
n = 10; % isolate the parameter
result = 1;
for k = 1:n
result = result*k;
end
result
result = 3628800
... or just
result = prod(1:n)
result = 3628800
... or, you know
result = factorial(n)
result = 3628800
Darya
Darya on 15 Nov 2022
Edited: Walter Roberson on 15 Nov 2022
n=input('n=')
if n>=0&&n==fix(n)
f=1;
for i=2:n
f=f*1;
end
else
disp('ererr')
end
f
Hugo
Hugo on 18 Oct 2023
hecho de función = factorial(n)
hecho = 1; % caso base, para F(0);
for i = 1:n %recorriendo valores de 1:n para multiplicar cada valor;
hecho = hecho*i; %multiplicando con nuestros valores anteriores.
fin
fin hecho = 1; % caso base, para F(0); for i = 1:n %recorriendo valores de 1:n para multiplicar cada valor; hecho = hecho*i; %multiplicando con nuestros valores anteriores. finfin

This question is locked.

Products

Asked:

on 18 Jun 2020

Locked:

DGM
on 21 Sep 2024

Community Treasure Hunt

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

Start Hunting!