70分求调
  • 板块P1591 阶乘数码
  • 楼主Iwara
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/9/4 18:40
  • 上次更新2023/11/2 22:45:15
查看原帖
70分求调
252549
Iwara楼主2023/9/4 18:40

RT

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll base=1e9,MAXN=1e5+5;
ll t;
ll n,a;
ll num[MAXN],len,ans;
int main(){
	cin>>t;
	while(t--){
		cin>>n>>a;
		len=1;ans=0;
		memset(num,0,sizeof(num));
		num[1]=1;
		for(ll i=1;i<=n;i++){
			for(ll j=1;j<=len;j++)num[j]*=i;
			for(ll j=1;j<=len;j++)num[j+1]+=num[j]/base,num[j]%=base;
			if(num[len+1])len++;
			while(num[len]>=base)num[len+1]+=num[len]/base,num[len]%=base,len++;
		}
		for(ll i=len;i>=1;i--)while(num[i])ans+=(num[i]%10==a),num[i]/=10;
		cout<<ans<<endl;
	}
	return 0;
} 

退化到橙题不会写了

2023/9/4 18:40
加载中...