源程序代码以及算法解释如下:
matlab求1-10的阶乘的函数源码如下:
function p = factorial()
p=1;
for a=1:10%设置要求的阶乘
for i=1:a%循环遍历从1到a
p=p*i;%遍历相乘
end;//函数结束
p%输出结果
p=1;%p还原其初始值
end
end
程序运行结果如下:
扩展资料:
C++实现求1到10的阶乘之和,代码如下:
#include<stdio.h>
int main()
{
double a,b=1,sum=0;
for(a=1;a<=10;a++)
{
b = a*b; /* 原理:1!等于1乘以1,2!等于1!乘以2,3!等于2!乘以3,以此类推 ,10!等于9!乘以10 */
sum = sum+b; /* 依次将1到10的阶乘相加 */
}
printf("%lf\n",sum);
return 0;
}
同理,如果求一个已知整数Number1到另一个已知整数Number2的阶乘之和,只需在代码里做以下修改和替换:
#include<stdio.h>
int main()
{
double a,b=1,sum=0;
for(a=Number1;a<=Number2;a++) /* 在此处用具体的值替换Number1和Number2,如求10到100的阶乘之和,只需在此处用10替换Number1,100替换Number2 */
{
b = a*b;
sum = sum+b;
}
printf("%lf\n",sum);
return 0;
}