牛客练习赛66A题解

思路

\(sq=\sqrt x\) ,则答案必然在 $ sq^2$ 和 $ (sq+1)^2 $ 之间,两者比较一下谁离 \(x\) 最近,就是答案了。

代码

#include <bits/stdc++.h>
using namespace std;

long long x,ans1,ans2,sq;

int main(){
    scanf("%lld",&x);
    sq=(long long)sqrt(x);
    ans1 = sq * sq;
    ans2 = (sq+1) * (sq+1);
    if(abs(ans1 - x)<abs(ans2 - x)) printf("%lld",ans1);
    else printf("%lld",ans2);
    return 0;
}
posted @ 2020-06-27 07:34  Werner_Yin  阅读(133)  评论(0编辑  收藏  举报