给定 n 个不同的正整数,整数 k(k < = n)以及一个目标数字。在这 n 个数里面找出 k 个数,使得这 k 个数的和等于目标数字,写一个函数实现找到不同的方案的数量。
格式:
输入第一行输入一个整数数组,第二行输入一个整数 k ,第三行输入一个整数 target最后输出使得数组中不同的 k 个数的和为 target 的种类。
样例输入
[ 1,2,3,4 ]
k = 2
target = 5
样例输出
格式:
输入第一行输入一个整数数组,第二行输入一个整数 k ,第三行输入一个整数 target最后输出使得数组中不同的 k 个数的和为 target 的种类。
样例输入
[ 1,2,3,4 ]
k = 2
target = 5
样例输出
2
C语言实现
#include <stdio.h>
int main(void)
{
int len,sum,i,j;
int flag=0;
printf("Please Input data len:");//数据长度
scanf("%d",&len);
int num[len];
printf("Please Input some data:\n");//数据
for(i=0;i<len;i++)
{
scanf("%d",&num[i]);
}
for(i=0;i<len;i++)
{
printf("%d ",num[i]);
}
printf("\n");
printf("Please Input sum value:\n");//和值
scanf("%d",&sum);
for(i=0;i<len;i++)//按住一个元素不放,逐一进行和运算
{
for(j=i+1;j<len;j++)
{
if(num[i]+num[j]==sum)
{
printf("%d , %d\n",num[i],num[j]);
flag++;
}
}
}
printf("How Many sum: %d\n",flag);
}