【发布时间】:2021-11-20 01:02:50
【问题描述】:
下面是我的问题的简化版本,下面的背景摘要提供了更大的背景。
问题:
创建一个函数,列出列表中所有元素的总和为数组中的给定值。
鉴于:
List<int> list = new List<int>() { 1, 2, 3, 4, 5, 9 };
如果提供的值为 10,则该函数应返回一个包含列表 1、2、3、4 和 1、4、5 和 2、3、5 和 1、9 的数组。
背景:
我正在尝试将一款名为 Pastra(或 Bastra)的旧纸牌游戏数字化,目标是从棋盘上收集纸牌。您只能收集与卡片的数值相匹配的卡片或任何与所打卡片数量相加的数字卡片。 A 是 1。
我已经有了领取等值卡的代码。
我需要的是从原始列表中创建一个值数组,其中的元素总和为给定值。
我需要知道哪个列表更大,以及哪个列表包含哪些卡片,这样就不会多次收集同一张卡片。 (注意:这超出了这个问题的范围。我想自己发现这一点,但是在这里提供关于为什么我需要这种信息的上下文)。
示例:
同上,如果棋盘有 A、2、3、4、5 和 9,如果我要打 10,我可以收集 A、2、3、4 或 A、4、5 , 或 2, 3, 5, 或 Ace, 9。
感谢您的帮助,非常感谢。
【问题讨论】:
标签: c# arrays list sum integer