新手村 過程函式與遞迴 P1036 選數

2021-10-03 03:30:52 字數 1031 閱讀 1824

題目描述

已知 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 搜尋 然後判斷是否素數並且滿足條件的種數 則 +1

#include

#include

#include

using

namespace std;

int a[

10001];

int n,k,sum,tot;

inline

bool

prime

(int x)

inline

void

dfs(

int step,

int s,

int count)

dfs(step+

1,s+a[step]

,count+1)

;dfs

(step+

1,s,count)

;return;}

inline

void

print()

intmain()

新手村 過程函式與遞迴 數的計算

題目鏈結 這題想寫出乙個應付小資料範圍的 還是很簡單了,想要應付大範圍的可能就需要稍微加點優化了。首先這個資料範圍可能會超過int,其次,你不能說每次計算的時候都重複計算一遍,所以我加了乙個記憶化搜尋。include include include include include include i...

P1036 選數 遞迴思想

題目傳送門 題目描述 已知 nnn 個整數 x1,x2,xnx 1,x 2,x nx1 x2 xn 以及111個整數kkk k3 7 12 223 7 12 223 7 12 22 3 7 19 293 7 19 293 7 19 29 7 12 19 387 12 19 387 12 19 38 ...

P1036 選數 c 遞迴

傳送門 已知 n 個整數 x 1,x 2,x n,以及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,kx 1,x 2,x...