87 完全平方數

2021-09-20 07:02:12 字數 937 閱讀 7990

題目描述:

給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, …)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。

示例 1:

輸入: n = 12

輸出: 3

解釋: 12 = 4 + 4 + 4.

示例 2:

輸入: n = 13

輸出: 2

解釋: 13 = 4 + 9.

類似於零錢兌換那道題

這裡要把dp[0]初始化為0

使用動態規劃:

class solution 

if(n == 0)

int dp = new int[n + 1];

dp[0] = 0;

dp[1] = 1;

dp[2] = 2;

for (int i = 3; i <= n; i++)

dp[i] = min;

} system.out.println(arrays.tostring(dp));

return dp[n];

}}

當然根據數學的定理更快

四平方定理: 任何乙個正整數都可以表示成不超過四個整數的平方之和。 推論:滿足四數平方和定理的數n(四個整數的情況),必定滿足 n=4^a(8b+7)

**:

class solution 

if(check1(n))else if(check2(n))else if(check3(n))else

}public boolean check1(int n)

public boolean check2(int n)

return false;

}public boolean check3(int n)

}return false;

}}

完全平方數

完全平方數 time limit 10000ms memory limit 65536k total submit 44 accepted 42 case time limit 1000ms description 由1 9九個數字組成的全排列可以被看作是乙個九位數,程式設計求出這些九位數中第n個完...

完全平方數

coding utf8 python3 題目 完全平方數 乙個整數,它加上100和加上268後都是乙個完全平方數 求該數是多少 數字 1,1000 中,符合條件的數 python sqrt num.py b 1 e 1000 import sys,getopt import math defint ...

完全平方數

程式設計判斷乙個非負整數是否為完全平方數。乙個非負整數n是完全平方數當且僅當存在非負整數m,使得n m2n m 2n m2。要求如下 輸出1表示是完全平方數,輸出0表示不是。比如,輸入非負整數0時,應輸出1。不能有其他多餘的cin和cout語句。注 0是完全平方數 include using nam...