高精度阶乘

来源:互联网 发布:淘宝网开店 编辑:程序博客网 时间:2024/05/21 07:47
。。。其实就是高精度乘法的翻版,洛谷水题,不解释了。。。
 #include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using namespace std;struct T{int x[20000],len;T(int z=0){memset(x,0,sizeof(x));if(z==1){x[0]=1;len=1;}} };T operator *(T a,int b){T res;res.len=a.len;for(int i=0;i<a.len;i++){res.x[i]+=a.x[i]*b;res.x[i+1]+=res.x[i]/10;res.x[i]%=10;}while(res.x[res.len]){res.x[res.len+1]+=res.x[res.len]/10;res.x[res.len]%=10;++res.len;}return res;}int main(){int i,j,k,m,n;int t;scanf("%d",&t);while(t--){T sum=1;scanf("%d%d",&n,&m);for(i=1;i<=n;i++){sum=sum*i;} int ans=0;for(i=sum.len-1;i>=0;i--){if(sum.x[i]==m)ans++;//printf("%d",sum.x[i]);}printf("%d\n",ans);}return 0;}


0 0
原创粉丝点击