633.平方数之和
**题目:**给定一个非负整数 c ,你要判断是否存在两个整数 a 和b,使得 a2 + b2 = c。
示例1:
输入: 5
输出: True
解释: 1 * 1 + 2 * 2 = 5
long表示长整型数据
核心:在0~sqrt(c)中去遍历
class Solution {
public:
bool judgeSquareSum(int c)
{
long i = 0;
long j = sqrt(c);
while(i <= j) //注意这里是小于等于,可以取等号
{
int sum = i*i + j*j;
if(sum == c)
{
return true;
}
else if(sum < c)
{
i++;
}
else
{
j--;
}
}
return false;
}
};