有关如何处理此算法的策略?

Dud*_*ude 12 algorithm

我在测试中被问到这个问题,我需要帮助解决我应该如何处理解决方案,而不是实际的答案.问题是

您已获得一个7位数字(每个数字不同,0-9).这个号码有这个属性

前3位数的乘积=后3位数的乘积=中央3位数的乘积

识别中间数字.

现在,我可以通过暴力(试验和错误)在纸上做到这一点,产品是72和数字

8,1,9,2,4,3,6

现在我如何以无蛮的方式解决问题?

Ans*_*hul 4

设数字为:abcdefg

因此根据规则(1):

axbxc = cxdxe = exfxg

我们还有(2):

axb = dxe 且 cxd = fxg

这个问题可以通过因式分解和一点点的点击/尝试来解决。在 1 到 9 的数字中,5 和 7 可以直接拒绝,因为它们是素数,不适合上面两个方程。

数字 1 到 9 可以分解为:

1 = 1、2 = 2、3 = 3、4 = 2X2、6 = 2X3、8 = 2X2X2、9 = 3X3

因式分解后,我们现在总共剩下 7 - 2、4 - 3 和数字 1。至于规则 2,我们只剩下 4 种可能性,这 4 个方程可以通过因式分解逻辑计算,因为我们知道总共有 7 个 2 和4 3 与我们同在。

1: 1X8(2x2x2) = 2X4(2x2)

2: 1X6(3x2) = 3X2

3: 4(2x2)X3 = 6(3x2)X2

4: 9(3x3)X2 = 6(3x2)X3

跳过 5 和 7,我们剩下 7 位数字。通过上面的等式,我们有 4 位数字,剩下的 3 位数字可以通过点击和试用来测试。例如,如果我们考虑第一种情况,我们有:

1X8 = 2X4 剩下 3,6,9。我们有 axbxc = cxdxe 我们可以选择 c 这 3 个选项,在这种情况下,产品将是 24、48 和 72。

24 不可能是正确的,因为最后三位数字是 6,9,4(=216)

48 不可能是正确的,因为对于最后三位数字,我们剩下 3,9,4(=108)

72 可能是一个有效的选项,因为在这种情况下最后三位数字将是 3,6,4 (=72)