当前位置: 代码迷 >> 综合 >> 【算法1-4】递推与递归——P1036 [NOIP2002 普及组] 选数
  详细解决方案

【算法1-4】递推与递归——P1036 [NOIP2002 普及组] 选数

热度:28   发布时间:2024-01-20 09:47:17.0

题目描述

已知n个整数x1?,x2?,?,xn?,以及1个整数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?≤5×10^6)。

输出格式

输出一个整数,表示种类数。

输入输出样例

输入#1

4 3
3 7 12 19

输出#1

1

说明/提示

【题目来源】

NOIP 2002 普及组第二题

#include<iostream>
#include<math.h>
using namespace std;
int a[21],n,k,ans;
bool is_prime(int x){//判断和是否为质数for(int i=2