想請教各位~~有題年齡計算問題

▲爺爺的年齡除以3會餘2,除以5可以整除,除以7會餘2,請問爺爺年齡幾歲?

請問此題目有正確算式嗎?如何算呢?不是一直用推論的~~

謝謝!
[ 想法 ]
    這類型的題目最簡單的作法就是先用推論的方式 , 放鬆條件  , 一開始先考慮一個條件 , 接下來再考慮在此條件之下 , 又能符合第二個條件的數有哪些 , 例如一開始可以考慮被5整除的case , 有 5 , 10 , 15 , 20 , 25 , 30 ... 等等 ,  接下來考慮在這些數字裡面有哪些除以 3 會餘 2 , 如 5 , 20 , 35 , 50 , 65 ... 等等 , 然後再看看這些數字中哪些除以 7 會餘 2 , 可以很簡單就推到答案 .

    一般常見的數學算法會使用到中國餘數定理 (Chinese Remainder Theorem) , 大致的作法的流程如下 , 

   先建構出一個 5 和 7 的公倍數 , 使得他除以 3 會餘 1 ,  很明顯的 , 這個數是 70

   再建構出一個 3 和 7 的公倍數 , 使得他除以 5 會餘 1 ,  很明顯的 , 這個數是 21

   最後建構出一個 3 和 5 的公倍數 , 使得他除以 7 會餘 1 ,  很明顯的 , 這個數是 15

   接著分別乘上題目對應的餘數 , 
  70*2 + 21*0 + 15 * 2 = 140+30 = 170

  170 其實已經滿足題目的條件了 , 但一般來講 , 我們想要找的是最小的 , 所以我們要另外去取 170 對 105 的餘數 得到了 65 , 其中 105 = 3*5*7

   所以爺爺的年紀就是 65 歲 .

[算式]


x = 2 (mod 3) = 0 (mod 5 ) = 2 (mod 7 )

令 a1 = 2 , m1 = 3 , a2 = 0 , m2 = 5 , a3 = 2 , m3 = 7 ,

M =  m1 * m2 * m3 = 3*5*7 = 105

M1 = M / m1 = 105 / 3 = 35

M2 = M/ m2 = 105/5 = 21

M3 = M/m3 = 105/7 = 15

M1*M1-1 = 1(mod a1)

所以 , M1-1 =  2 , M2-1 =  1 , M3-1 =  1

根據中國餘數定理

x = a1 M1M1-1+a2M2 M2-1+a3M3 M3-1 mod M= (2*35*2+0+2*15) mod 105 = 170 mod 105 = 65

所以爺爺是 65歲

arrow
arrow
    全站熱搜

    艾草 發表在 痞客邦 留言(0) 人氣()