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阶乘的函数?的主要内容,如果未能解决你的问题,请参考以下文章

matlab如何调用阶乘函数求阶乘的和

如何编写一个n的阶乘的程序

编写一个shell脚本程序,实现100的阶乘并输出

matlab阶乘和程序

matlab阶乘和程序

关于 matlab 函数递归