在matlab中使用for循环求1到10阶乘的值

 我来答
哒哒哒w哒哒哒
2019-10-15 · TA获得超过262个赞
知道答主
回答量:25
采纳率:0%
帮助的人:4059
展开全部

用matlab设计程序如下:

for i=1:10

    sum=1;

for j=1:i

sum=sum*j;

end

sum

end

运行结果显示,1到10的阶乘分别是:  1、2、  6、 24、120、 720、5040、40320、362880  、3628800。

运行结果如图:

扩展资料

MATLAB中for循环的语法是 -

for index = values 

 ...end。

其中,values的值取如下格式:





珈蓝惜梦qF
2019-10-15 · TA获得超过654个赞
知道答主
回答量:33
采纳率:0%
帮助的人:1.3万
展开全部

源程序代码以及算法解释如下:

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;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昱婷漫步
2017-03-28 · TA获得超过1171个赞
知道小有建树答主
回答量:713
采纳率:94%
帮助的人:470万
展开全部

这几个语句可以用:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-03-28
展开全部
sum = 1;
for i = 1:1:10
sum = sum * i;
end
disp(['10的阶乘 = ',num2str(sum)]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
似若柳絮因风起
2019-07-19
知道答主
回答量:2
采纳率:0%
帮助的人:1216
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式