零分求调
查看原帖
零分求调
847562
tyy_2012楼主2023/5/29 13:54
#include<bits/stdc++.h>
using namespace std;
long long t,num[1001][2],to[1001];
int sum(int s1){
	long long Big[1000000]={0},num_a=0,Big_ws=0,s4;
	Big[0]=1;
	for(int s2=2;s2<=num[s1][0];s2++){
		for(int s3=0;s3<=Big_ws;s3++)       //乘
			Big[s3]*=s2;
		for(s4=0;Big[s4]==0;s4++){          //处理进位,顺便记录2的个数
			if(Big[s4]>=10){
				Big[s4+1]=Big[s4+1]+Big[s4]/10;
				Big[s4]%=10;
			}
			if(Big[s4]==num[s1][1])
				num_a++;
		}
		Big_ws=s4-1;
	}
	return num_a;
	return 0;
}
int main(){
	cin>>t;
	for(int s=0;s<t;s++)
		cin>>num[s][0]>>num[s][1];   //输入
	for(int s1=0;s1<t;s1++)
		to[s1]=sum(s1);              //记录2的个数
	for(int s=0;s<t;s++)
		cout<<to[s]<<"\n";           //输出
	return 0;
}
2023/5/29 13:54
加载中...