题解 | 小数字
小数字
https://www.nowcoder.com/practice/faaaa4ddadb34bae88b37fcb635654f1
#include <bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false), cin.tie(0);
//const int N=;
void solve()
{
int n, m;
cin>>n>>m;
while(n>2 && m) n=(ceil)(sqrt(n)), m--;
if(m==0) cout<<n;
else{
cout<<n-m;
}
cout<<"\n";
}
int main()
{
IOS
int T;
cin>>T;
while(T--) solve();
return 0;
}
注意到n>=4时一定是开根号更好,然后n==3也是
然后开根号这个事情又减小的很快,所以数据范围可以过
剩下的全部执行-1

查看14道真题和解析