洛谷1009题

洛谷题:高精度计算阶乘之和S=1!+2!+…+n!

本题使用高精度加法和高精度乘法相结合方式,结合acwing中高精度加法和高精度乘法提供的模板。

#include 
#include 
using namespace std;
//更新每次阶乘的值
vector mul(vector &A,int n){vector C;int t=0;for(int i=0;i1&&C.back()==0)  C.pop_back();return C;
}
//将每次阶乘的值与之前的和相加
vector add(vector &A,vector &B){vector C;int t=0;for(int i=0;i A,B;cin >> n >> b;if(n>1){A.push_back(1);B.push_back(1);}for(int i=2;i<=n;i++){A=mul(A,i);if(A.size()>=B.size())   B=add(A,B);else B=add(B,A);}for(int j=B.size()-1;j>=0;j--)cout << B[j];return 0;
}

题目链接


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部