// 活动地址: 牛客春招刷题训练营 - 编程打卡活动 #include<iostream> #include<algorithm> #include<set> #include<cmath> #define int long long using namespace std; void solve(){ int n,m; cin>>n>>m; // 这题感觉又是之前在哪见过 好像是周赛之前出过 // 直接模拟 会超时 所以得稍微优化下 while(m--){ if(n>4){ if((int)sqrt(n)*(int)sqrt(n)==n)n=sqrt(n); else n=(int)sqrt(n)+1; } else if(n>2){ n=n/2+(n%2?1:0); } // 这里可以优化 else { cout<<n-m-1<<"\n"; return ; } } cout<<n<<"\n"; } signed main(){ int T=1; cin>>T; while(T--){ solve(); } return 0; } // 活动地址: 牛客春招刷题训练营 - 编程打卡活动