计算N!的值
http://218.5.5.242:9018/JudgeOnline/problem.php?id=1061
题目描述
大家的都知道N!=1*2*3*…*N。随着N的增大,N!的值增大更快。现在请您编写一程序,给定一个整数N,求1!+2!+3!+…+N!的值。这里N<=50。
输入
一个整数N。
输出
输出答案。
样例输入
6
样例输出
873
提示
本题的数据中,保证所有答案不会超过1000位。
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include<iostream> #include<cstring> using namespace std; int main() { int f[100]; memset(f,0,sizeof(f)); int n,c; cin>>n; f[0]=1; for(int i=n;i>=2;i--) { c=0; for(int j=0;j<=99;j++) { f[j]=f[j]*i+c; c=f[j]/10; f[j]=f[j]%10; } f[0]++; } for(int i=99,s=0;i>=0;i--) { if(f[i]!=0)s++; if(s!=0)cout<<f[i]; } return 0; } |
Subscribe