萌新求调
查看原帖
萌新求调
159187
美味裤子队长楼主2023/8/14 17:23
#include<iostream>
#include<cstdio>
using namespace std;
const long long num[]={0,1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
long long t,l,r,ans,o,ans_k,k,p;
bool flag;
inline long long _get(long long x)
{
	while(x%10==0)	x/=10;
	int ans=0,temp=x;
	while(temp)	ans++,temp/=10;
	if(x%10==5)	return 2*ans-1;
	return 2*ans;
}
int main()
{
	scanf("%d",&t);
	begin:
	while(t--)
	{
		scanf("%lld%lld",&l,&r),ans=0x3f3f3f3f,p=1,o=1,ans_k=l;
		while(ans_k%num[o+1]==0)	o++,p=num[o]; 
		for(long long i=l;i<=r;i+=p)
		{
			cout<<i<<endl;
			k=_get(i),flag=false;
			if(k==1)
			{
				printf("%lld\n",i);
				goto begin;
			}
			if(ans>k)	ans=k,ans_k=i;
			if(ans_k%num[o+1]==0)	o++,p=num[o];
//			if(i%num[o]==0)	o++,p=num[o]; 
//			printf("%d\n",p);
		}
		printf("%lld\n",ans_k);
	}
	return 0;
}
//100000000000
//20000000
2023/8/14 17:23
加载中...