#1073. 数字币求和(50分)

数字币求和(50分)

时间限制:3000MS

内存限制:589824KB

题目描述:

(注.input()输入函数的括号中不允许添加任何信息)

提示信息:

合数:合数指自然数中除了能被 1 和本身整除外,还能被其它正整数整除的数。

例如 4,4 除了能被 1 和 4 整除,还可以被 2 整除。

编程实现:

小明收藏了 N(2 ≤ N ≤ 25)个数字币,每个数字币上都有一个面值(面值可以重复)。从数字币中任选 K(2 ≤K ≤ N)个,有多种选法,请将每次选择的数字币上的面值累加,然后解决以下两个问题。

问题 1:累加的和中有多少种不同的结果;

问题 2:累加的和中有多少个不同的合数。

例如:N=5,K=3,5 个数字币上的面值分别为 2、1、4、5、3,任选 3 个数字币,有 10 种选法,将每种选法上的

面值累加:

2+1+4=7、2+1+5=8、2+1+3=6、2+4+5=11、2+4+3=9、2+5+3=10、1+4+5=10、1+4+3=8、1+5+3=9、4+5+3=12。

其中累加的和中有 7 种不同的结果,分别是 7、8、6、11、9、10、12,

累加的和中有 5 个不同的合数,分别是 8、6、9、10、12。

输入描述:

第一行输入一个正整数 N(2 ≤ N ≤25),表示数字币的个数

第二行输入 N 个正整数(1 ≤ 正整数 ≤ 1000),表示数字币上的面值,正整数之间以一个英文逗号隔开

第三行输入一个正整数 K(2 ≤ K ≤ N),表示所要选取的数字币个数

输出描述:

输出两个整数,分别表示累加的和中不同结果的个数以及累加的结果中不同合数的个数,两个整数之间以一个英文

逗号隔开

样例输入:

5
2,1,4,5,3
3

样例输出:

7,5