MATLAB:编写一个实现n阶乘的函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB:编写一个实现n阶乘的函数?相关的知识,希望对你有一定的参考价值。
编写一个实现n阶乘的MATLAB函数?
如何用MATLAB:编写一个实现n阶乘的函数,实现的方法有
1、直接用软件自带的阶乘函数,即factorial(n)
2、自定义阶乘函数,即 S=Factorial_fun(n),其内容
N=n
S=1;
for n=1:N
S=S*n;
end
fprintf('N! = %22d\\n',S);
然后,命令窗口中执行
>S=Factorial_fun(5)
运行结果
参考技术A不会matlab,用fortran写了一段代码。
算法详见代码的绿色字体注释行。
阶乘计算的范围是 0到1000的阶乘,输出最大位数是2568位整数。
附:fortran代码和计算实例
n的阶乘中用多少个2,3,5,7因数
举个例子,30的阶乘有多少个2因数,也就是有多少个2相乘用[n]表示不超过n的最大整数,例如[3.5]=3,[0.87]=0,[-4.55]=-5
30的阶乘中2的个数
=[30/2]+[30/2^2]+[30/2^3]+[30/2^4]
=15+7+3+1
=26
30的阶乘有26个2
这种算法可以用于对阶乘进行分解质因数。比如要计算100的阶乘等于多少,直接计算1乘2乘3一直乘到100,非常麻烦,数字也非常大。这时候就可以用这种算法直接去计算100的阶乘的质因数分解式 参考技术A 欢迎追问
3×5=15
能75
以上是关于MATLAB:编写一个实现n阶乘的函数?的主要内容,如果未能解决你的问题,请参考以下文章