社区讨论
TLE on #4~#7
P1134[USACO3.2] 阶乘问题参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lyoeku33
- 此快照首次捕获于
- 2024/07/16 20:42 2 年前
- 此快照最后确认于
- 2024/07/16 21:50 2 年前
CPP
#include<bits/stdc++.h>
#define K(x,y,z,o) for(int o=x;o>=y;o-=z)
using namespace std;
string aa[1005];
int a[100005],b[100005];
string jf(string s,int n)
{
reverse(s.begin(),s.end());
int t=s.size();
for(int i=0;i<t;i++)
{
a[i]=s[i]-'0';
}
for(int i=0;i<t;i++)
{
b[i]=a[i]*n;
}
int jw=0;
string x="";
for(int i=0;i<t;i++)
{
b[i]+=jw;
jw=b[i]/10;
b[i]%=10;
}
while(jw!=0)
{
t++;
b[t-1]=jw%10;
jw/=10;
}
while(b[t-1]=='0'&&t!=0) t--;
for(int i=0;i<t;i++)
{
x+=char(b[i]+'0');
}
reverse(x.begin(),x.end());
return x;
}
int main()
{
int n;
cin>>n;
aa[0]="1";
for(int i=1;i<=n;i++)
{
aa[i]=jf(aa[i-1],i);
}
string ss=aa[n];
K(ss.size()-1,0,1,i)
{
if(ss[i]!='0')
{
cout<<ss[i];
break;
}
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...