[程式設計題]數字和為sum的方法數
給定乙個有n個正整數的陣列a和乙個整數sum,求選擇陣列a中部分數字和為sum的方案數。
當兩種選取方案有乙個數字的下標不一樣,我們就認為是不同的組成方案。
輸入描述:
輸入為兩行:第一行為兩個正整數n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 1000)
第二行為n個正整數a[i](32位整數),以空格隔開。
輸出描述:
輸出所求的方案數示例1
5 15 5 5 10 2 3
4
public class main
long dp = new long[n+1][sum+1];//n個物品和為sum有多少方案。
//表示當和為0是,就只有不取一種方案。
for(int i = 0;i<=n;i++)
//表示沒有數字的時候就沒有方案,但是這裡要注意dp[0][0] = 1
for(int i = 1;i<=sum;i++)
for(int i = 1;i<=n;i++)else }}
system.out.println(dp[n][sum]);
}}
數字和為sum的方法數
給定乙個有n個正整數的陣列a和乙個整數sum,求選擇陣列a中部分數字和為sum的方案數。當兩種選取方案有乙個數字的下標不一樣,我們就認為是不同的組成方案。輸入描述 輸入為兩行 第一行為兩個正整數n 1 n 1000 sum 1 sum 1000 第二行為n個正整數ai,以空格隔開。輸出描述 輸出所求...
牛客網 數字和為sum的方法
題目描述 給定乙個有n個正整數的陣列a和乙個整數sum,求選擇陣列a中部分數字和為sum的方案數。當兩種選取方案有乙個數字的下標不一樣,我們就認為是不同的組成方案。輸入描述 輸入為兩行 第一行為兩個正整數n 1 n 1000 sum 1 sum 1000 第二行為n個正整數ai,以空格隔開。輸出描述...
動態規劃 數字和為sum的方法數
問題描述 給定乙個有n個正整數的陣列a和乙個整數sum,求選擇陣列a中部分數字和為sum的方案數。當兩種選取方案有乙個數字的下標不一樣,我們就認為是不同的組成方案。輸入描述 輸入為兩行 第一行為兩個正整數n 1 n 1000 sum 1 sum 1000 第二行為n個正整數a i 32位整數 以空格...