1. 程式人生 > 實用技巧 >平方數之和

平方數之和

給定一個非負整數c,你要判斷是否存在兩個整數 a 和 b,使得a2 + b2 = c。

示例1:

輸入: 5
輸出: True
解釋: 1 * 1 + 2 * 2 = 5

示例2:

輸入: 3
輸出: False

來源:LeetCode

package 雙指標.兩數平方和;

public class Application {
    public static void main(String[] args) {
        boolean b = judgeSquareSum(26);
        System.out.println(b);
    }

    /**
     * 判斷一個非負整數是否為兩個整數的平方和
     
*/ public static boolean judgeSquareSum(int target){ if(target<0){ return false; } double sqrt = Math.sqrt(target); System.out.println("sqrt:"+sqrt); int i = 0; int j = (int)sqrt; while (i<=j){ int sum = i*i + j*j;
if (sum == target){ System.out.println("i:"+ i); System.out.println("j:"+ j); return true; }else if (sum>target){ j--; }else { i++; } } return false; } }