• 締切済み

数学の得意な方にお聞きたいんですが、、、、

   一桁の数(1)から一桁の数(2)を引き、その答え(3)を(2)から引き、その答え(4)を(3)から引く。この作業を繰り返す際に、引かれる数より引く数が大きい場合は引かれる数に 10 を足してから引きます。  例 7-5-2-3-9-4-5-9-6-3-3-0-3-7-6-1-5-6-9-7-2-5-…    この作業を延々と繰り返すと、(1)(2)にどんな数を入れても、(5)の数×3の1の位が(20)になることと、(902)では必ず(1)と同じ数になることがなぜなのか解りません。  気になってしょうがないので、解る方いらっしゃたら教えて下さい。

みんなの回答

  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.2

問題の数列を a[ ] とし、 b[n] = a[n] (-1)^n と置けば、 b[n] ≡ b[n-1] + b[n-2] (mod 10) となります。 この漸化式、どこかで見たことありませんか? 有名な「フィボナッチ数列」というやつです。↓ http://www.gakuto.co.jp/w/suugaku/su_daizai03-2.htm b[ ] では、初項が一般化されてますけど。 オリジナルのフィボナッチ数列 f[1] = f[2] = 1, f[n] = f[n-1] + f[n-2] との関係は、 b[n] ≡ b[1] f[n-2] + b[2] f[n-1] (mod 10) となっています。 この関係は、b[ ] の最初のほう数項を書き出してみれば 容易に推測できるし、帰納法で示すのも簡単ですね。 以上より、 a[n] ≡ { - a[1] f[n-2] + a[2] f[n-1] }(-1)^n (mod 10) です。 f[ ] の値は、パソコンなどで計算できるし、↓ http://linuxbeginner1.blog55.fc2.com/blog-entry-417.html http://ameblo.jp/espelion/entry-10689066172.html http://hp.vector.co.jp/authors/VA008683/F_Algor.htm 数表なども、よく見かけます。↓ http://www.suguru.jp/Fibonacci/Fib100.html http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibtable.html#100 a[5] ≡ a[1] f[3] - a[2] f[4] (mod 10), a[20] ≡ - a[1] f[18] + a[2] f[19] (mod 10), f[3] = 2, f[4] = 3, f[18] = 2584, f[19] = 4181 であることより、 a[5] ≡ 2 a[1] + 7 a[2] (mod 10), a[20] ≡ 6 a[1] + a[2] (mod 10) が判ります。 これより、 3 a[5] ≡ 6 a[1] + 21 a[2] . ≡ 6 a[1] + 1 a[2] ≡ a[20] (mod 10) です。 また、フィボナッチ数の数表を見ていると、 f[61] と f[62] の一の位の数字が 1 であることに気づきます。 f[61] ≡ f[62] ≡ 1 (mod 10). この様な f[ ] の対が f[100] までに在ることは直ぐ判りますが、 実際にどこにあるかは、数表を見てゆくしかないでしょう。 これを使って、 a[902] ≡ - a[1] f[900] + a[2] f[901] . ≡ - a[1] f[60×14+60] + a[2] f[60×15+1] . ≡ - a[1] f[60] + a[2] f[1] . ≡ - a[1] f[60] + a[2] f[1] . ≡ - 0 a[1] + 1 a[2] . ≡ a[2] (mod 10) が言えます。

  • ramayana
  • ベストアンサー率75% (215/285)
回答No.1

 n番目の数字をa[n]とすると、示された作業は、   a[n] ≡ a[n-1] - a[n-2] mod 10 で表すことができます。  このような漸化式は、行列で表すと見通しがよくなります。a[n] とa[n-1]を縦に並べた列ベクトルをA[n]とします。さらに、1行目が -1, 1 で、2行目が 1, 0 の2行2列行列をPとします。すると、漸化式は、   A[n] ≡ PA[n-1] mod 10 となります。よって、   A[n] ≡ P^(n-2)A[2] mod 10 です。 (イ) 「(5)の数×3の1の位が(20)になること」 上の式を使って a[5] と a[20] を計算すると、   a[5] ≡ 7a[2] + 2a[1] mod 10   a[20] ≡ a[2] + 6a[1] mod 10 となるので、   3a[5] ≡ 21a[2] + 6a[1] ≡ a[2] + 6a[1] ≡ a[20] です。 (ロ) 「(902)では必ず(1)と同じ数になること」  「(902)では必ず(2)と同じ数になる」の間違いではないでしょうか。 計算してみれば、   P^(60) ≡ 単位行列 mod 60 であることが分かります。よって、   A[902] ≡ P^(900)A[2] ≡ P^(60×15)A[2] ≡ A[2] mod 10 なので、   a[902] ≡ a[2] mod 10 です。

関連するQ&A