Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
169799 B班-陈行知 高精度阶乘 C++ 解答错误 0 6 MS 284 KB 694 2024-08-20 17:08:16

Tests(0/10):


#include<stdio.h> #include<iostream> #include<math.h> #include<string.h> using namespace std; struct bign{ int d[3000]; int len; bign() { memset(d,0,sizeof(d)); len=0; } }; bign multi(bign a,int b) { bign c; //c.len--; int carry=0; for(int i=0;i<a.len;i++) { int temp=a.d[i]*b+carry; c.d[c.len++]=temp%10; carry=temp/10; } while(carry!=0){ c.d[c.len++]=carry%10; carry/=10; } return c; } int main() { int n,i; while(scanf("%d",&n)!=EOF){ bign c; c.d[0]=1; c.len=1; for(i=1;i<=n;i++) { c=multi(c,i); } for(int i=c.len-1;i>=0;i--) { printf("%d",c.d[i]); } printf("\n"); } return 0; }


测评信息: