LeetCode 633. Sum of Square Numbers
2017-07-15 10:28
351 查看
Description
Given a non-negative integerc, your task is to decide whether there’re two integers
aand
bsuch that a2+b2=c.
Example 1:
Input: 5
Output: True
Explanation:1 * 1 + 2 * 2 = 5
Example 2:
Input: 3
Output: False
Analysis
这道题不需要很复杂的数论知识,纯暴力也可以过,但两层循环遍历可能的数字会TLE,要利用a,
b两数之间的关系,一层循环即可,直接利用sqrt()函数和强制类型转换即可AC。
Code
class Solution { public: bool judgeSquareSum(int c) { for (long a = 0; a * a <= c; a++){ double b = sqrt(c - a * a); if ((int)b == b) return true; } return false; } };
Appendix
Link: https://leetcode.com/problems/sum-of-square-numbers/Run Time: 13ms
相关文章推荐
- LeetCode 633. Sum of Square Numbers
- 【leetcode】633. Sum of Square Numbers(Python & C++)
- [LeetCode]633. Sum of Square Numbers
- [leetcode]633. Sum of Square Numbers
- [Leetcode] 633. Sum of Square Numbers 解题报告
- Leetcode 633. Sum of Square Numbers(Easy)
- [leetcode]633. Sum of Square Numbers
- LeetCode 633. Sum of Square Numbers
- leetcode 633. Sum of Square Numbers
- leetcode 633. Sum of Square Numbers
- leetcode 633. Sum of Square Numbers
- LeetCode 633. Sum of Square Numbers
- leetcode 633. Sum of Square Numbers 二分查找+勾股定理
- LeetCode-633. Sum of Square Numbers
- 633. Sum of Square Numbers
- LeetCode 633. Sum of Square Numbers
- [LeetCode]633. Sum of Square Numbers
- 633. Sum of Square Numbers 平方数之和 看一个数是否能够有两个平方数组成
- 633. Sum of Square Numbers
- 633. Sum of Square Numbers