Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
169810 | 陈道宁 | 高精度阶乘 | C++ | 解答错误 | 40 | 1000 MS | 284 KB | 468 | 2024-08-20 17:11:30 |
#include<bits/stdc++.h> using namespace std; int a[5000]; int main(){ int n; cin>>n; a[0]=1; int la=1; for(int i=2;i<=n;i++){ for(int j=0;j<la;j++){ a[j]*=i; } int g=0; for(int i=0;i<4990;i++){ a[i]+=g; g=0; while(a[i]>=1000){ a[i]-=1000; g++; } } la=4990; while(a[la]==0){ la--; if(la==0){ break; } } la++; } printf("%d!=",n); for(int i=la-1;i>=0;i--){ cout<<a[i]; } }