zoukankan      html  css  js  c++  java
  • LeetCode 633. Sum of Square Numbers平方数之和 (C++)

    题目:

    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;
        }
    };
  • 相关阅读:
    10多媒体
    胡凡-01
    概念
    算法
    07Axios
    05VueCli
    04Vue.js路由系统
    03生命周期
    《穷人思维》学习感悟
    《基金》学习感悟之二
  • 原文地址:https://www.cnblogs.com/silentteller/p/10747824.html
Copyright © 2011-2022 走看看