Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
173623 | 孔心悦 | 高精度阶乘 | C++ | 无测评数据 | 0 | 0 MS | 0 KB | 368 | 2024-08-20 22:17:29 |
#include <bits/stdc++.h> using namespace std; int ans[40005]={0,1},len=1,nn; void f(int n){ if(n>nn){ for(int i=len;i>=1;i--)cout<<ans[i]; return ; } int x=0; len+=4; for(int i=1;i<=len;i++){ ans[i]=ans[i]*n+x; int x=ans[i]/10; } while(len>1&&ans[len]==0)len--; f(n+1); } int main(){ cin>>nn; cout<<nn<<"!="; f(2); return 0; }