#include <iostream>
#include <cstdio>
using namespace std;
int pow(int n,long long k)
{ int a[100],c,s,i=0,j;
if(k==0) return 0;
k=k*k;
while(k)
{
a[i++]=k%10; k/=10;
}
if(n>i) n=i; //如果不够长度,有多少位给多少
c=0;
for(j=0;j<n;j++)
c=c*10+a[--i];
return c;
}
int main(int argc, char *argv[])
{
int t,k1,k2,ans,n;
cin>>t;
while(t--)
{
scanf("%d%d",&n,&k1);
ans=k2=k1;
do
{
k1=pow(n,k1);
k2=pow(n,k2); if(ans<k2) ans=k2;
k2=pow(n,k2); if(ans<k2) ans=k2;
}while(k1!=k2);
cout<<ans<<endl;
}
return 0;
}
Uva 11549(计算机谜题)(模拟)
最新推荐文章于 2022-10-26 17:48:07 发布