題目描述
已知 n 個整數b1,b2,…,bn以及乙個整數 k(k<n)。從 n 個整數中任
選 k 個整數相加,可分別得到一系列的和。例如當 n=4,k=3,4 個整
數分別為 3,7,12,19 時,可得全部的組合與它們的和為:3+7+
12=22 3+7+19=29 7+12+19=38 3+12+19=34。現
在,要求你計算出和為素數共有多少種。例如上例,只有一種的和為素
數:3+7+19=29。
輸入
第一行兩個整數:n , k (1<=n<=20,k<n)
第二行n個整數:x1,x2,…,xn (1<=xi<=5000000)
輸出
乙個整數(滿足條件的方案數)。
樣例輸入
4 3
3 7 12 19
樣例輸出
1
#include
#include
const
int maxn =25;
int n,k,a[maxn]
;int count =0;
//判斷sum是否為素數
bool
prime
(long
long sum)
//if
}//for
return
true;}
//在n個數中選擇k個數
void
choose
(int index,
int num,
long
long sum)
return;}
if(index == n)
return
;choose
(index +
1, num +
1, sum + a[index]);
choose
(index +
1, num, sum);}
intmain()
choose(0
,0,0
);printf
("%d\n"
,count)
;}
遞迴入門 組合 判斷素數
時間限制 1 sec 記憶體限制 128 mb 已知 n 個整數b1,b2,bn 以及乙個整數 k k n 從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n 4,k 3,4 個整數分別為 3,7,12,19 時,可得全部的組合與它們的和為 3 7 12 22 3 7 19 29...
遞迴入門 組合 判斷素數
已知 n 個整數b1,b2,bn 以及乙個整數 k k n 從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n 4,k 3,4 個整數分別為 3,7,12,19 時,可得全部的組合與它們的和為 3 7 12 22 3 7 19 29 7 12 19 38 3 12 19 34。現...
問題 C 遞迴入門 組合 判斷素數
問題 c 遞迴入門 組合 判斷素數 時間限制 1 sec 記憶體限制 128 mb 提交 2125 解決 615 提交 狀態 討論版 命題人 外部匯入 題目描述 已知 n 個整數b1,b2,bn 以及乙個整數 k k n 從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n 4,k...