猜猜多項式~Guess the Polynomial~
小伶小依玩遊戲,小伶在心中想像一個一次的多項式f (x),不告訴小依,小依提出一個整數x的值,小伶再計算f (x)的值並告訴小依。例如小伶心中想了一個一次多項式f (x) = 5x+1。
小依問:x=1,小伶答:f (1)=6
小依問:x=2,小伶答:f (2)=11
小依由條件假設多項式f (x) = ax+b,可知
a+b=6
2a+b=11
解聯立方程組得知原多項式為f (x) = 5x+1。
把遊戲的難度提高一些,如果讓小伶想像任意次數的多項式,也耍點心眼,不告訴小依是幾次呢?這麼一來,滿足f (1)=6及f (2)=11的多項式有無限多個,例如一次式f (x) = 5x+1和二次式f (x) = x2+2x+3都可能是答案,小依需要詢問非常非常多的整數才能確定。
嗯,又或許不必這麼麻煩,運氣好的話,問一個問題就夠了!假設小伶心中想的是四次多項式f (x) = 3x4+7x3+4x2+2x+8,此時小依只要詢問f (10)的值,小伶需回答37428,有沒有發現這個數字剛好對應多項式各項的係數?小伶計算
f (10) = 37428 = 3×104+7×103+4×102+2×10+8
這個算式背後的意思是十進位,四次式代表這個數字是萬位數,3×104代表萬位是3、7×103代表千位是7等等,3萬7千4百2十8對應多項式3x4+7x3+4x2+2x+8,任何一個正整數都可以用這種寫法表示。
這個招式還不是必勝法,它只能表達十進位的數字,如果係數超過10呢?例如f (x) = x2+11x+5,數字11超過十進位能表達的係數了,此時f (10)=215,答案會被誤會成f (x) = 2x2+x+5,噹噹錯誤答案。十進位派不上用場了,小依要換更大的進位法,這個例子中至少要換比11大的,例如
f (12) = 281 = 1×122+11×12+5
此時答案由12進位表示。
可是又要怎麼知道使用幾進位才夠呢?如果小伶故意選擇很大的係數
f (x) = 999x3+333x2+2x+1
,小依如何知道要代入多大的x值?可以的!既然係數都是正整數,那就先問f (1) =1335,f (1)的意義是把每一項的係數相加,所以我們能確認這個多項式各項的係數都不會大於1335,那只要再繼續追問f (1336)的值,
f (1336) = 2382830807985 = 999×13363+333×13362+2×1336+1
這是一個1336進位表示法的數字,且對應原多項式。
在滿足「非負整係數多項式」的條件下,次數再大也無所謂,係數再大也無所謂,我們僅僅使用兩個整數就能就找出該多項式。首先詢問f (1)的值,假設f (1) = k,再詢問f (k+1)的值,並將f (k+1)用k+1進位表示即可。
本文作者為竹南高中數學科教師