洛谷P1036 深搜

2021-10-22 22:44:29 字數 534 閱讀 5287

原題目

給定n個數字裡面選擇k個數字進行操作,使用遞迴操作。也類似於深搜。

#include

using

namespace std;

int ans=

0, n, k, a[25]

;bool

prime

(int x)

}return

true;}

void

rec(

int start,

int count,

int sum)

//start是指從哪一位開始,count是現在已經有多少位了,sum是這count位的總和

for(

int i = start; i < n; i++)}

intmain()

rec(0,

0,0)

;//a從0開始,所以起始位置從0開始

cout << ans << endl;

return0;

}

洛谷P1036 選數(DFS 深搜 線性篩 列舉)

題目大意 n個數中選擇k個求和,問結果有幾個素數。思路 c n,k 種可能,每種都需要遍歷到,考慮到n 20,1應該夠了,可以試試。但是我也這樣暴力就沒有寫文章的意義了,我使用了線性篩得出所有的1e8的素數,去二分查詢判定,用以確定結果是否為素數,計算為1e8,查詢,log2 1e8 不到32.具體...

洛谷P1036 選數

已知 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。...

洛谷 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...