社内数学勉強会 第四回 剰余

剰余

剰余とは、割り算をした余りの値の事。
「余り」って、学校ではあんまり詳しく扱わなかったけど、この本では重要らしい。
確かに、ループの中で偶数と奇数でclassを割り振る時とか、割り算の余りが1ならodd、0ならeven、とかいう条件文があった。

100日後の曜日の計算

例えば今日が日曜だった場合、100日後は何曜日か。これは、割り算で計算する事ができる。

0 1 2 3 4 5 6
7 8 9 10 11 12 13



  1. 一週間は7日で繰り返すから、100を7で割る
  2. 結果は14余り2
  3. 14は、日曜が14回来たって事。余り2は、そこから二日進むという事
  4. 日曜から二日進むので、つまり100日目は火曜日

1234567の987654321乗の一の桁を求める

  1. 1234567の方は、結局は一の桁しか見ないので、7だけを意識する
  2. 7の0乗なので、1
  3. 7の1乗なので、7
  4. 7と7をかける 答えは49
  5. 49の一の桁と7をかける 答えは63
  6. 63の一の桁と7をかける 答えは21
  7. 21の一の桁と7をかける 答えは7
  8. 7と7をかける 答えは49
  9. 49の一の桁と7をかける 答えは63
  10. 63の一の桁と7をかける 答えは21

この流れをみると、一の桁が1,7,9,3で繰り返されている事がわかる このような法則を周期性という。
前項の曜日の場合なら、一週間は7日で繰り返す、というのが周期性。

周期性がわかれば、剰余を使って問題を解決する事ができる。
ただし、たまに1,7,9,3,1,7,9,3,5,1,7,9,3,1,7,9,3,5,というような、「1,7,9,3の周期性だと思ったら実は1,7,9,3,1,7,9,3,5,の周期性だった」という事があるので注意。