热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_56645631
苏哈哈462
4 年前
trueweixin_56645631

#701 A
思路:如果b>a那么只要做一次第一个操作就好,如果a==b那么进行2次操作就好,如果a>b那么考虑遍历一下从b开始到b+100,遍历看哪次次数最少就好
#include<stdio.h>
int ma(int a,int b)
{
int ans=0;
while(a)
{
a/=b;
ans++;
}
return ans;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a,b;
scanf("%d%d",&a,&b);
int res=0;
if(b>a)res=1;
else if(b==a)res=2;
else
{
if(b==1)
{
res++;
b++;
}
int mi=0x3f3f3f3f;
for(int i=b;i<b+100;i++)
{
int o=ma(a,i);
o+=res;
if(o<mi)mi=o;
res++;
}
res=mi;
}
printf("%d\n",res);
}
return 0;
}

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
准备放暑假,回家暂停打卡!!!!!今天,明天,后天,大后天。18号再打卡!
立即登录