描述
给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!),输出阶乘的和。
输入
输入有一行,包含一个正整数n(1 < n < 12)。
输出
输出有一行:阶乘的和。
输入样例 1
5
输出样例 1
153
代码:
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int main() 5 { 6 long long int n,s=0,t=1; //乘法运算初始值为一,这个数可能很大,用long long 7 cin>>n; 8 for(int i=1;i<=n;i++) //程序已优化,只用一重循环 9 { 10 t*=i; //计算i!,只要用之前存储的(i-1)*i 11 s+=t; //累加i! 12 } 13 cout<<s; 14 return 0; 15 }