编程判断一个非负整数是否为完全平方数。一个非负整数n是完全平方数当且仅当存在非负整数m,使得n=m2n=m^2n=m2。
要求如下:
输出1表示是完全平方数,输出0表示不是。比如,输入非负整数0时,应输出1。
不能有其他多余的cin和cout语句。
注:0是完全平方数
#include <iostream>
using namespace std;
int main()
{
int a,c,i=0;
cin>>a;
if(a==0)
{
cout<<1;
}
else if(a>0)
{
bool c=false;
for(int i=a;i>0;i--)
{
if(i*i==a)
{
c=true;
break;
}
}
if(c==true)
{
cout<<1;
}
if(c==false)
{
cout<<0;
}
}
}
或
#include <iostream>
using namespace std;
int main()
{
int m,n,i;
cin>>m;
n=1;
i=1;
if(m==0)
cout<<"1";
else
while (i<=m)
{
if (n==m)
{
cout<<("1");
break;
}
n=i*i;
i++;
if (i==m)
cout<<("0");
}
return 0;
}