1!+2!+3!+4!+...+n!
时间: 2023-11-14 18:05:25 浏览: 101
1!+2!+3!+4!+...+n!是指从1到n的所有数的阶乘之和。可以使用循环或递归的方法来计算这个和。其中,递归法是一种比较简单的方法,代码如下:
#include <stdio.h>
int Temp(int a) {
int b;
if(a==0) b=1;//递归出口
else b=a*Temp(a-1);
return (b);
}
int main() {
int i,n,sum=0;
printf("请输入n:");
scanf("%d",&n);
for(i=1;i<=n;i++) sum+=Temp(i);
printf("结果是:%d",sum);
}
另外,还可以使用循环的方法来计算这个和,具体代码如下:
#include <stdio.h>
int main() {
int i,j,sum=0,n,sum1=1;//sum为阶乘和,sum1为阶乘结果
i=j=1;
printf("请输入n:");
scanf("%d",&n);
while(i<=n) {
sum1*=i;//计算阶乘,第n个数的阶乘结果是n*第n-1个数的阶乘结果
sum+=sum1;
i++;
}
printf("结果是:%d",sum);
return 0;
}
相关问题
利用MATLAB求解1!+2!+3!+4!+ ...+n!
```matlab
n = input('请输入n的值:');
sum = 0;
for i = 1:n
factorial = 1;
for j = 1:i
factorial = factorial * j;
end
sum = sum + factorial;
end
disp(['1!+2!+3!+...+n!=',num2str(sum)]);
```
--相关问题--:
1. 如何用MATLAB求解阶乘?
2. 如何用MATLAB
用MATLAB求解1!+2!+3!+4!+ ...+n!
可以使用MATLAB中的循环结构和阶乘函数来求解1!+2!+3!+4!+...+n!。具体代码如下:
```matlab
n = input('请输入n的值:'); % 接收用户输入的n
sum = 0; % 初始化总和为0
for i = 1:n
sum = sum + factorial(i); % 每次循环将当前阶乘加入总和中
end
disp(['1!+2!+3!+...+n!的值为:', num2str(sum)]); % 输出结果
```
相关问题:
阅读全文
相关推荐













