题目:
Given a non-negative integer c
, your task is to decide whether there‘re two integers a
and b
such that a2 + b2 = c.
Example 1:
Input: 5 Output: True Explanation: 1 * 1 + 2 * 2 = 5
Example 2:
Input: 3 Output: False
分析:
给定一个非负整数c ,你要判断是否存在两个整数a和b,使得 a^2 + b^2 = c。
我们可以给定一个a,来判断c-a*a是不是等于(sqrt(c-a*a))^2,因为一个数如果可以开方,且这个数开方后再平方的话和原来相等就是完全平方数,也就是我们所求的b。
程序:
class Solution { public: bool judgeSquareSum(int c) { for(double a = 0; a*a <= c; ++a){ int b = sqrt(c - a*a); if(b*b == (c - a*a)) return true; } return false; } };
原文地址:https://www.cnblogs.com/silentteller/p/10747824.html
时间: 2024-11-08 07:28:13