//方法一 暴力
#include<iostream>
using namespace std;
int mid;
int main()
{
int num;
cin>>num;
for(int i=1;i<=num/2;i++)
{
if(i*i==num)
{
cout<<"true";
return 0;
}
}
if(num*num/4!=num)
cout<<"false";
return 0;
}
//方法二 二分
#include<iostream>
using namespace std;
int mid;
int main()
{
int num;
cin>>num;
int l=1,r=num;
while(l<r)
{
mid=(l+r)/2;
if(mid*mid>num)
r=mid;
else if(mid*mid<num)
{
l=mid+1;
}
else if(mid*mid==num)
{
cout<<"true";
break;
}
}
if(mid*mid!=num)
{
cout<<"false";
}
return 0;
}
有效的完全平方数 力扣 367 c++
于 2024-03-19 20:48:06 首次发布