C語言 NOIP2002 選數(深度優先搜素)

2021-09-02 20:22:56 字數 755 閱讀 7514

已知  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)

乙個整數(滿足條件的種數)。 

4 3

3 7 12 19

1
#include#includeint num[21], n, k, book[21], tag[21], ans;

int prime(int x)

if(i == t + 1)

return 1;

else

return 0;

}void dfs(int step, int last)

if(prime(sum))

return;

}for(i = last; i <= n; i++)

}int main()

dfs(1, 1);

printf("%d\n", ans);

return 0;

}

NOIP2002 普及組 選數

題目描述 已知 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 1...

選數 NOIP2002 學習總結

問題描述 已知 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 1...

NOIP 2002 選數 DFS 素數判定

題目描述 已知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 現在,要...