Skip to content

Instantly share code, notes, and snippets.

@taiansu
Last active November 15, 2016 06:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taiansu/f4dd36d695230f845ba4f2fc55bde236 to your computer and use it in GitHub Desktop.
Save taiansu/f4dd36d695230f845ba4f2fc55bde236 to your computer and use it in GitHub Desktop.

前題

  • [2..9] and [2..9]
  • 小明(積)
  • 小華(和)

step 1: 小明說積為_偶數_,代表老師告訴他的值可能是以下這些

4, 6, 8, 10, 12, 14, 16, 18,
6, 12, 18, 24,
8, 12, 16, 20, 24, 28, 32, 36,
10, 20, 30, 40,
12, 18, 24, 30, 36, 42, 48, 54,
14, 28, 42, 56,
16, 24, 32, 40, 48, 56, 64, 72,
18, 36, 54, 72,


step 2: 小華說和為_偶數_,代表老師告訴他的值可能是以下這些:

4, 6, 8, 10,
6, 8, 10, 12,
6, 8, 10, 12,
8, 10, 12, 14,
8, 10, 12, 14,
10, 12, 14, 16,
10, 12, 14, 16,
12, 14, 16, 18


step 3-1: 綜合 step1, step2, 小明得知兩個都是偶數,老師告訴他的值可能性剩下這些:

4, 8, 12, 16,
8, 16, 24, 32,
12, 24, 36, 48,
16, 32, 48, 64

step 3-2: 但小明無法得解

所以他拿到的積不為唯一值(因式分解在集合內有多種可能),
例如小明知道的積是 4 時,這兩個數必然為 2 * 2,
積為 36 時,除了 6 * 6 之外沒有別的可能性了。
同理可排除 8 (2*4), 12 (2*6), 24 (4*6), 32 (4*8), 48 (6*8), 64 (8*8),
只剩下 16 (2 * 8 or 4 * 4)

Tips: 把窮舉法中出現一次或是兩次的都去掉。

4, 8, 12, 16,
8, 16, 24, 32,
12, 24, 36, 48,
16, 32, 48, 64


step 4: 因為小明無法得解,所以小華拿到的必然是 8 或是 10 其中之一

因為小華拿到的是 8,所以可以宣告兩數相同。(4, 4)

註:如果兩個數是 2, 6 時,如 step 3-2 所說,乘積 (12) 可以先一步得出解。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment