问题H:数字组合

该问题要求在不超过100个数的集合中找出和为特定值的数字组合,输入包含数字个数N和目标和M,以及N个正整数。目标是输出和为M的组合数,不考虑组合的顺序。例如,对于输入4 4, 1 1 2 2,输出为3,因为有3种组合(1+1+2, 1+2+1, 2+1+1)满足条件。" 112826799,10297229,Python面试技巧:解析同或函数与常见编程问题,"['Python编程', '面试题', '函数实现', '动态类型语言', '文件操作']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

题目描述

在N个数中找出其和为M的若干个数。先读入正整数N(1<N<100)和M(1<M<10000), 再读入N个正数(可以有相同的数字,每个数字均在1000以内), 在这N个数中找出若干个数, 使它们的和是M, 把满足条件的数字组合都找出来以统计组合的个数,输出组合的个数(不考虑组合是否相同)。要求你的程序运行时间不超过1秒。

输入

第一行是两个数字,表示N和M。
第二行起是N个数。

输出

一个数字,表示和为M的组合的个数。

样例输入
复制样例数据 4 4
1 1 2 2

样例输出
3

#include <iostream>

using namespace std;

int main()
{
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值