题目链接:https://leetcode-cn.com/problems/sum-of-square-numbers/
思路:i遍历0~sqrt(c),判断是不是存在平方数等于c-i*i即可,判断方法就是(int) sqrt == sqrt, (int)sqrt是获得sqrt的整数部分,比如 (int)10.9=10,(int)10.1=10 。注意用long类型的i来遍历,因为i*i<=c判断的时候i*i可能会超int。
上代码:
class Solution {
public boolean judgeSquareSum(int c) {
for (long i = 0; i * i <= c; i++) {
double sqrt = Math.sqrt(c - i * i);
if ((int) sqrt == sqrt) {
return true;
}
}
return false;
}
}