«前の日記(2008年11月27日) 最新 次の日記(2008年12月02日)» 編集

ema log


2008年11月29日 [長年日記]

_ [最近]Twitter / やおっち: 3桁を三乗して下三桁が自身になる数の簡単な求め方を教 ...

寝る前に見かけてしまった、このTwitterが気になって仕方がない。頭をひねったのだけど、とんちはひらめかず。総当たり以外で解けるのかなぁ?へるぷみー。

> (0..999).find_all{|i| (i**3)%1000 == i }
=> [0, 1, 125, 249, 251, 375, 376, 499, 501, 624, 625, 749, 751, 875, 999]
> (0..999).find_all{|i| (i**2)%1000 == i }
=> [0, 1, 376, 625]

むー、二乗より、三乗の方が多いのはちょっと意外。でも、二乗でOKなら、三乗でOKなのは当たり前か。

(i*i*i)%1000 == (((i*i)%1000)*i)%1000

みたいなイメージ。ちなみに、

> (0..999).find_all{|i| (i**4)%1000 == i }
=> [0, 1, 376, 625]
> (0..999).find_all{|i| (i**5)%1000 == i }
=> [0, 1, 57, 125, 193, 249, 251, 307, 375, 376, 432, 443, 499, 501, 557, 568, 624, 625, 693, 749, 751, 807, 875, 943, 999]
> (0..999).find_all{|i| (i**6)%1000 == i }
=> [0, 1, 176, 201, 376, 401, 576, 601, 625, 776, 801, 976]
> (0..999).find_all{|i| (i**7)%1000 == i }
=> [0, 1, 125, 249, 251, 375, 376, 499, 501, 624, 625, 749, 751, 875, 999]

ふーむ??総当たりで、答えを出したら、より気になってきた。3乗と7乗が同じになるのは、i*i*i の後ろ二つの i を (i*i*i) に置き換えれば分かる??

i == (i*i*i)%1000 == (i*((i*i*i)%1000)*((i*i*i)%1000))%1000

だから?5乗と9乗などが等しくなるのは

i == (i*i*i*i*i)%1000 == (i*i*i*i*(i*i*i*i*i)%1000)%1000

みたいなのでOK?合同式はよく分かってないなぁ。13乗、25乗とも一致したしこんな感じで良いのかな?でも、

i == (i*i*i)%1000 == (i*i*((i*i*i)%1000)%1000)

とはならないしなぁ。