3343 - 习题5-6-1 连续阶乘求和
输入一个正整数N,求1!+2!+3!+...+N!,即求
提示:由于>10的整数的阶乘非常大,已超出整数的表示范围,故求阶乘时,需要将变量定义为double类型。
题目输入
输入一个正整数N
题目输出
1~N连续阶乘的和,1!+2!+3!+...+N!的和,末尾换行。
输入/输出样例
题目输入
10
题目输出
4037913
C语言解答
#include<stdio.h> int main() { double sum=0,num,i,j; int n; scanf("%d",&n); for (i=n;i>=1;i--) { for(j=i,num=1;j>=1;j--) num*=j; sum+=num; } printf("%.0lf\n",sum); return 0; }
C++解答
#include<iostream> #include<cstdio> using namespace std; int main() { int n; cin>>n; double t=1,sum=0; for (int i=1; i<=n; i++) { t*=i; sum+=t; } printf("%.0lf\n",sum); return 0; }