C.猫猫与数列
可以猜测,答案应当很小,所以可以直接暴力判断最大的n
首先我们可以走两种路:
第一种,利用求对数来比较,注意精度问题即可,但我感觉这里的快速幂会溢出嘛?
while(1){
a=qpow(x,y);
if(y*log(x)>log(maxm)+1e-5) break;
++c;
x=y;y=a;
}
cout<<c<<"\n";
第二种做法,快速幂时判断是否超出(-1判断),个人更喜欢第二种方法
ll qpow(ll a,ll b){
ll r=1;
while(b){
if(b&1){
if(r>maxm/a)
return -1;
r=(r*a);
}
b>>=1;
if(b&&a>maxm/a)
return -1;
a=(a*a);
}
return r;
}
标签:qpow,return,log,ll,小白月赛,71,maxm
From: https://www.cnblogs.com/Qiansui/p/17341981.html