给定一个正整数 c ,请问是否存在正整数 a , b 满足
数据范围:
bool square(int c ) { int i=(int)sqrt(c); int j= 0; for (; i >= 1; i--) { j = (int) sqrt(c - i * i); if ((c == i * i + j * j) && (j != 0)) { return true; break; } } return false; }
bool square(int c ) { int i; for (i = 1; i < sqrt(c); i++) { int temp = c - i * i; int k = sqrt(temp); //用整型接收某个数的平方根或近似平方根 if (k * k == temp) //若这个整型平方后可以还原成求平方根之前的数, //说明是完全平方 return true; } return false; }