我有一个真正的问题(这不是作业,你可以检查我的配置文件)。我需要解析格式不受我控制的数据。C/C++/Java/C#:帮助解析数字
的数据是这样的:
6852:6100752
所以这是第一个由多达9位的数字,后面跟一个冒号。
然后,我确实知道,在冒号后面:
- 有,最多列
- 我知道究竟有多少数量加起来才加入到数字号码中至少一个有效组合冒号前的数(两位在这种情况下,但它可以高达十数)
在这种情况下,6852是6100 + 752
我的问题:我需要找到这些数字(在这个例子中,6100 + 752)。
不幸的是,在我被迫解析的数据中,数字(逗号)之间的分隔符也是数字本身内部使用的分隔符(6100写为6,100)。
再一次:那个不幸的格式化不在我的控制之下,再次,这不是作业。
我需要解决这个需要加起来多达10个数字。
下面是用三个数字加起来6855为例:
6,855:360,6,175,320
我担心有这样的情况,将有两个可能的不同的解决方案。 但是如果我得到一个解决方案,作品“在大多数情况下”这就够了。
你是如何用C型括号语言解决这个问题的?
语言语法与您如何解决此问题很少有关。更相关的是你可用的库函数。你打算使用哪种语言? – 2010-06-30 21:39:56
我认为他的意思更多的仅仅是指示伪代码语法样式的使用方式,而不是确定实际的实现。 – jdmichal 2010-06-30 22:00:29
这是一个子集总和问题的特例:http://en.wikipedia.org/wiki/Subset_sum – Mau 2010-06-30 22:04:07