社区讨论
help
P1591阶乘数码参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lqpapkjh
- 此快照首次捕获于
- 2023/12/28 22:23 2 年前
- 此快照最后确认于
- 2023/12/29 14:54 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int c[4005005];
int o[4005005];
int main(){
ios::sync_with_stdio(0);
//freopen("xxx.in", "r", stdin);
//freopen("xxx.out", "w", stdout);
int q;
cin>>q;
while(q--){
memset(c,0,sizeof(c));
int n,t;
ll ans=0;
cin>>n>>t;
c[1]=1;
int m=1,k=1;
for(int i=2;i<=n;i++){
int x=0;
for(int j=1;j<=k;j++){
c[j]*=i;
c[j]+=x;
x=0;
if(c[j]>9){
if(j==k){
m++;
}
x=c[j]/10;
c[j]%=10;
}
}
if(x>0){
c[m]=x;
x=0;
}
k=m;
if(c[m]>9){
m++;
c[m+1]=c[m]/10;
c[m]%=10;
}
/*for(int i=m;i>=1;i--){
cout<<c[i];
}
cout<<endl;*/
}
while(c[m]==0&&m!=1){
m--;
}
for(int i=m;i>=1;i--){
cout<<c[i];
}
cout<<endl;
for(int i=m;i>=1;i--){
if(c[i]==t){
ans++;
//cout<<c[i]<<" "<<i;
}
}
cout<<ans<<endl;
}
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...