wa声一片 求调
查看原帖
wa声一片 求调
638382
why1481211楼主2023/7/19 09:29
#include<bits/stdc++.h>
using namespace std;
int t,a,n,len;
int ans[3010],jinwei,weishu=3010;
long long total;
bool flag;
int main(){
	cin >>t;
	
	while(t--)//多测要清空 
	{
		memset(ans,0,sizeof(ans));
		ans[1]=1;
		cin >> n >>a;
		for(int i=2; i<=n; ++i){
			//实现ans[j]*i
			weishu=3010;
			for(int j=1; j<=weishu; ++j){//因为无法得知得数的位数 开到最大 后面去除0就可以了 
				if(ans[j]==0) continue;
				ans[j]=ans[j]*i;
			}
			//考虑进位 
			for(int i=1; i<=weishu+1; ++i){
				if(ans[i]>9)
				{
					ans[i+1]+=ans[i]/10;
					ans[i]%=10;
				}
			}
			//去除零
			while(ans[weishu]==0 && weishu>1) {
				weishu--;
			}
		}
		for(int i=weishu; i>=1; --i){//搜索 
			if(ans[i]==a){
				total++;
			}
		} 
		cout << total << endl;
	}
	return 0;
}
2023/7/19 09:29
加载中...