给一个整数 c, 你需要判断是否存在两个整数 a 和 b 使得 a^2 + b^2 = c.
样例
样例 1:
输入 : n = 5
输出 : true
说明 : 1 * 1 + 2 * 2 = 5
样例 2:
输入 : n = -5
输出 : false
输入测试数据 (每行一个参数)
如何理解测试数据?
class Solution {
public:
/**
* @param num: the given number
* @return: whether whether there're two integers
*/
bool checkSumOfSquareNumbers(int num) {
// write your code here
set<long> result;
int n=sqrt(num);
for (int i = 0; i <= n; i++) {
result.insert(pow(i,2));
}
for (auto temp : result) {
if(result.count(num-temp)){return true;break;}
}
return false;
}
};