0

我最近在一次采访中被问到一个问题并且无法破解它,在我自己的努力失败并且谷歌没有显示任何结果之后,我将它发布在这里,以便其他人也可以尝试一下。

给定方程:

a (a + b) = c - 120

其中a, b&c是不等素数, find a, b& c

我知道我必须使用素数的某些属性来将问题简化为更简单的问题,但我想不出一个。任何建议/解决方案将不胜感激。

我能想到的最好的是:

  • 可能有多种解决方案。我的第一种方法是蛮力搜索 3 个素数来解决这个方程。(我知道,完全没用)
  • 第二种方法是第一种方法的改进,将方程修改为a (a + b) - 120 = c。所以现在我们将我们的蛮力变量减少到只是 a & b & 检查 LHS 是否是所选a&的素数b。(如果c要大,找出 LHS 是否是素数将消除通过将变量从 3 减少到 2 所获得的优势。)

所以你看,我真的不会去任何地方。

4

2 回答 2

2

让我们规定 c > 120。这意味着 c != 2。所以 RHS 是奇数。

因此 LHS 必须是奇数,所以 a (a + b) 必须是奇数。所以a是奇数,a+b是奇数。这仅在 b 是偶数且 b 是素数时才有效,因此 b = 2。

所以我们有 a(a+2) = c - 120。

所以 a^2 + 2a + (120-c) = 0

使用二次公式,求解 a,我们得到

[-2 +- sqrt(2^2 - 4 * 1 * (120 - c))] / 2

= -1 +- sqrt(1 - (120-c))

= -1 + sqrt(c - 119)

所以我们需要一个素数 c,所以 c - 119 是一个完美的正方形。

这是一个使用素数表的快速计算。

我能找到的最小的是 c = 263,所以 a = 11, b = 2

看起来 c=443, a=17, b=2 也可以。

似乎没有任何其他低于 1000 的 c 值。

可能还有很多很多其他的。

于 2012-06-16T20:41:41.583 回答
2

所有素数都是奇数,除了 2 - (1)

所有素数都是正数 - (2)

odd - even = odd(3)

(1), (2) => c> 120 并且c是奇数 - (4)

odd * odd = odd- (5)

(3), (4), (5) =>c-120奇数 =>a(a+b)奇数 - (6)

even + odd = odd- (7)

(6) =>a是奇数,a+b是奇数 (8)

(7), (8) =>b是偶数 => b= 2

所以,我们有a^2 + 2a = c-120

我不能再进一步了

于 2012-06-16T20:23:54.347 回答