
数据规模和约定
n是32位有符号整数
这道题其实思路及其简单,但是要注意几个n的取值情况,考虑全面即可。
①n<=0时,ans=0;
②n本来就是完全平方数,ans=n;
③ans=(m+1)*(m+1);(m为n的平方根);
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ll n;
scanf("%lld",&n);
ll p=(ll)sqrt(n);
if(n<=0) {
printf("0\n");
}
else if(p*p==n)
{
printf("%lld\n",n);
}
else
{
printf("%lld\n",(p+1)*(p+1));
}
}
本文介绍了一个简单的算法,用于找到最接近给定32位有符号整数的完全平方数。通过判断输入值的不同情况,实现了高效计算。
515

被折叠的 条评论
为什么被折叠?



