题目链接:添加链接描述
给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。
示例 1:
输入:c = 5
输出:true
解释:1 * 1 + 2 * 2 = 5
示例 2:
输入:c = 3
输出:false
思路:
很简单,通过sqrt函数降低时间复杂度进行枚举判断
class Solution {
public:
bool judgeSquareSum(int c) {
if(c==0) return true;
int f=0;
for(int i=1;i<=sqrt(c);i++){
int bb=c-i*i;
int tmp=sqrt(bb);
if(tmp*tmp==bb){
f=1;
break;
}
}
return f;
}
};