切換
舊版
前往
大廳
主題

ZeroJudge - c238: 旅行者_九國遊歷記<3> 小黃去蠍國 解題心得

Not In My Back Yard | 2020-06-14 01:19:46 | 巴幣 2 | 人氣 157

題目連結:


題目大意:
給定下列 9 列 × 9行的表格:
請觀察該表格的規律並填滿(對,原題就是這樣)。

輸入有多列,每列給定兩正整數 m 、 n ,求第 m 列第 n 行的值為何?



範例輸入:
1 1
1 2
2 1


範例輸出:
1
3
11


解題思維:
觀察第一列相鄰兩項的差:
2 、 3 、 4 、 5 、 6 、 7 、……
看來可以放心猜測第 c 項為 1 + 2 + …… + c = c (c + 1) ÷ 2
 
再觀察第二列:
42 、 93 、 y - 146 、 565 - y 、 …… , 其中 y 為第二列第四行的值。
在這階段就卡住了,因為看起來沒有什麼規律。

不過我們讓第二列每個數先減去第一列相應位置的值,得到:
10 、 50 、 140 、 y - 10 、 550
然後我們再求一次差值:
40 、 90 、 y - 150 、 560 - y

這時候有人可能可以通靈出來,上面感覺看起來像是
4 、 9 、 16 、 25 、 …… 、 i ^ 2
只是每一項要乘以 10 。

按照這個調性,我們可能可以大膽猜測第 r 列第 c 行的值為
「第 r - 1 列第 c 行的值」加上「10 ^ (r - 1) × (1 ^ r + 2 ^ r + …… + c ^ r)」

好,我們試試第三列第三行,代表 r = 3 、 c = 3:
146 + 10 ^ 2 × (1 + 8 + 27) = 3746
看來不錯。

再試試第四列第五行, r = 4 、 c = 5:
  第三列第五行的值 + 10 ^ 3 × (1 + 16 + 81 + 256 + 625)
= (565 + 10 ^ 2 × (1 + 8 + 27 + 64 + 125)) + 979000
= 23065 + 979000
= 1002065
由此,看來我們的猜測是可行的。

所以就按照這個方式建出表格。當然,第一列沒有前一列可以套我們猜測的關係式,但是我們知道他基本上就是第 c 行的值 = c (c + 1) ÷ 2 。其他的就按照關係式,一列一列地填滿。



以上就是本人大致上的猜測思路。雖然原題有給 OEIS (整數數列線上大全,On-line Encyclopedia of Integer Sequences)這個提示,但是把數字丟上去找不到什麼結果,所以放棄這條線索。

不知是否有讀者可以參透此題,以及說明為何上面的歷程是合理的猜測而不是單純地靠自己的經驗以及對數字的感覺在通靈……

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作