【发布时间】:2015-04-04 22:36:55
【问题描述】:
在练习编码问题时,我遇到了这个具有挑战性的问题:
假设我有一个 7 变量方程,(A+B+C+C+D+B)(E+F+B+C)(G+F+F),以及多达 3500 个的巨大列表数字:
A 1、2、3;乙 1, 2; C 9, 1; 1; 2; F 1; G 1
这个列表基本上给出了每个变量可以有的所有可能值。问题是,我有多少种方法可以选择变量的值,使得结果数是 7 的倍数?
例如,我可以从上面的列表中选择 A = 1, B = 1, C = 1, D = 1, E = 2, F = 1, G = 1。这将使数字 (1+2+1+1+1+1)(2+1 +1+1)(1+1+1) = 35,确实是七的倍数。
我的解决方案是测试这七个变量的所有可能组合,并检查该总和是否是 7 的倍数。但是,该解决方案显然非常缓慢。有没有人对这个问题有更有效的解决方案?
【问题讨论】:
-
有人吗?到目前为止,给出的唯一答案太慢了。