3141592653589793 (円周率の小数点以下15桁目までの数に $10^{15}$ 掛けてみた)
の3桁目は
7だよね (見ればわかる)
70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501 (1000番目のフィボナッチ数)
の 100 桁目は
9だよね (信じる?)
自然数 n の k 桁目を取り出す手続きを考えよう
問題を解く場合 最も簡単な場合を考えるのがコツ
最も楽なのは k が 1 の時でしょう
3141592653589793 の1桁目は
3
70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501 の1桁目は
1
1桁目は どうやって求める?
10で割った余りを求めればよいでしょう?
じゃあ 12345 の 2桁目は
2桁目?
12345 じゃなくって 1234 の 1桁目?だったらできる!
12345 を 1234 にして 1桁目 を答えればよいね
12345 を 1234 にするには
小学生低学年の割り算で 10 で割ればよいね
10で割った 商 だ
12345 の 2桁目は
12345を 10で割った 商 の1桁目
12345を 10で割った 商 を 10で割ったあまり
じゃあ 12345 の 3桁目は
12345を 100で割った 商 の1桁目
12345を 100で割った 商 を 10で割ったあまり
じゃあ 12345 の 4桁目は
12345を 1000で割った 商 の1桁目
12345を 1000で割った 商 を 10で割ったあまり
1桁目 そのまま 10で割ったあまり
2桁目 10で割った 商を 10で割ったあまり
3桁目 100で割った 商を 10で割ったあまり
4桁目 1000で割った 商を 10で割ったあまり
2 なら10
3 なら 100
4 なら 1000
5 なら 10000
法則が見つけられないか?
k ならば 10を (k-1)回掛けた値だよね
10を (k-1)回掛ける は 10の(k-1)乗 , $ 10^{(k-1)}$だ
どんな数も 0乗は 1だから k桁目の対応表にぴったり あてはまる
1 なら 1 , $10^{(0)}$
2 なら 10 , $10^{(1)}$
3 なら 100 , $10^{(2)}$
4 なら 1000 , $10^{(3)}$
5 なら 10000 , $10^{(4)}$
ということで n の k 桁目は
n を $10^{(k-1)}$ で 割った商 を 10で割った 余り
あとは、これを gauche で表現すればよいだけ
a を b で割った商を返す手続き は
a を b で割った余を返す手続き は
a の b 乗を返す手続き は
覚えていなければ、調べよう。調べたら覚えよう