判断一个数aabb是不是完全平方数
for( i = 1 to 9 )
for(j = 0 to 9 )
{
int sum = 1100*a + 11* b;
int m =float(sqrt(sum) + 0.5);
if (m*m == sum )
cout<<sum<<endl;
}
有人会问为什么不可以用if(sqrt(sum) == float(sqrt(sum))) cout<sum<<endl; 呢 ?
即是直接判断开平方是不是整数。 理论上是没有问题 ,但是则行会出现错误的的 因为这是浮点数的运算,有可能出现误差。
提示:浮点数出现误差的概率大一点 , 特别注意浮点数比较的时候!!
如果想避免进行开方 另一思路就是枚举四位数 然后判断是不是符合aabb
枚举的出口就是平方数是一个四位数