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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在matlab中使用for循环求1到10阶乘的值相关的知识,希望对你有一定的参考价值。

用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的值取如下格式:





参考技术A

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

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;


参考技术B

这几个语句可以用:

参考技术C sum = 1;
for i = 1:1:10
sum = sum * i;
end
disp(['10的阶乘 = ',num2str(sum)]);
参考技术D

for循环 嵌套 算阶乘和的问题

dim as 就省略哈
循环:
Private Sub Command1_Click()
s = 0
For j = 1 To 3
t = 1
For i = 1 To j
t = t * i
Next i
s = s + t
Next j
Print s
End Sub
这样算出来是正确的
问题是“t=1”为什么不能写在s=0的后面,也就是for循环的前面
Private Sub Command1_Click()
s = 0
t = 1
For j = 1 To 3

For i = 1 To j
t = t * i
Next i
s = s + t
Next j
Print s
End Sub
这样算的话就是错了的。。是什么原因呢????请教一下~!!

两个程序,都是正确的。只是“t=1”写在s=0的后面,也就是for循环的前面的时候,输出的是“t”跟“i”累乘后再和“s”相加的结果,也就是15
而“t=1”写在第一个for循环的后面的时候,每执行一次“J”的循环,t都被重新赋值为t=1.所以前一个输出结果应该为最后一次:3*3=9
兄台,可能表达不清,多见谅!不过编程题,你最好用计算机的思维方式来想就行了,它只会一步步规则的运算。
参考技术A 循环仅仅是执行for --> next 内的代码,这样子的话循环两次之后t就等于2
然后t*i 就是6 了

以上是关于在matlab中使用for循环求1到10阶乘的值的主要内容,如果未能解决你的问题,请参考以下文章

C语言for循环 求1--10阶乘的和

亲,用matlab中的while循环来求1到10的阶乘的和的编程怎么写,谢谢

C语言for循环 求1--10阶乘的和

用c语言for循环求1到10阶乘

matlab怎么用for语句求阶乘

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