【发布时间】:2010-05-26 12:28:43
【问题描述】:
假设我有一个整数result 和一个整数数组,比如说[a,b,c](不是固定长度)。我需要用i,j,k>=0 检测result=a*i +b*j + c*k。
如果可能的话,我更喜欢 C/C# 中的解决方案。
PS 问题来自预订系统,如果行程的持续时间是给定持续时间的组合,则可以出售行程。
谢谢!
例如:如果我们有 a=3,b=7 比 rezult 20 = 3*2 + 7*2 结果 9 = 3*3 + 7*0
【问题讨论】:
-
一个好问题,但澄清了首选结果是什么。假设 a,b,c 是持续时间,而 i,j,k 是每个持续时间的数量,您是更喜欢持续时间的最少数量(i+j+k 最小)还是较长持续时间的数量更少(优先级较低a,b,c) 的值?
-
stackoverflow.com/questions/1467907(复杂但相当理想)
-
我只想知道组合是否存在!
-
您的持续时间是固定的吗?一些参数组合可以用“贪婪”算法轻松解决,还有一些 - 幂 - 甚至比这更简单。
标签: c# algorithm integer-division