已知 n 個整數 x1,x2,…,xn,以及乙個整數 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)
x1,x2,…,xn (1<=xi<=5000000)
輸出格式:
螢幕輸出,格式為:
乙個整數(滿足條件的種數)。
輸入樣例#1:
複製
4 33 7 12 19
輸出樣例#1:
複製
1
本題用dfs方法。
#include#include#include#include#includeusing namespace std;
map maps;
int nums[20];
bool book[20] = ; //記錄數字是否被用過
int n; //一共n個數
int ans; //最終答案
int isprime(int n) //判素數
int j;
void dfs(int k,int last,int num)
return;
} for (int i = last; i < n; i++)
}}int main()
洛谷 P1036選數
已知 n 個整數 x1,x2,xn以及1個整數k k3 7 12 22 3 7 19 29 7 12 19 38 3 12 19 34 現在,要求你計算出和為素數共有多少種。例如上例,只有一種的和為素數 3 7 19 29。輸入格式 鍵盤輸入,格式為 n,k 1 n 20,kx1,x2,xn 1 x...
洛谷P1036選數
題目描述 已知 n 個整數 x1,x2,xn,以及1個整數k k3 7 12 22 3 7 19 29 7 12 19 38 3 12 19 34 現在,要求你計算出和為素數共有多少種。例如上例,只有一種的和為素數 3 7 19 29 輸入樣例 4 33 7 12 19 輸出樣例 1 include...
洛谷P1036 選數
題目簡述 從n個整數中選擇k個數求和,求出和為素數的組合數。個人思路 題中給了20組資料,直接暴力dfs,注意dfs的時候用每次選的資料往後再選,比如第一次選的3,後面可以選7,12,19,選完之後繼續往後選以此類推。ac include include include include includ...