当c = 1时,输出false,题目没有要求a、b不能相等,所以当c = 2时,输出应为true
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param c int整型 * @return bool布尔型 */ #include <stdbool.h> bool square(int c ) { // write code here int k = sqrt(c); int m = sqrt(c / 2); if (c == 1)//将c = 1单独拎出来 return false; if(m*m == c/2)//判断a、b相等的情况 return true; for (int i = 1; i < k; i++){ int j = sqrt(c - i * i); if((i*i + j*j) == c) return true; } return false; }