過去問データベース 過去問を探す

九州大学 2001年度
文系数学 第4問(c)

問題

を自然数とする.次の算法を考える.

(a)

(b) ならばとして終了する.

(c) の値が奇数ならとする.

(d)

(e)

(f) (b)に戻る.

(ここで,を越えない最大の整数を表す.)

(1) のとき,3周目と4周目の(b)におけるの値を求めよ.たとえば1周目ではである.

(2) 一般のに対して,(b)におけるの値については1周目から最後まで一定であることを示せ.

(3) 一般のに対して,を求めよ.

出典:九州大学 2001年度 前期日程 第2次学力試験 文系 第4問(c)

方針

この算法は、 を半分にしながら、奇数部分に対応する に足していく掛け算の手順である。各周回の(b)に入った時点で を見ると、 が偶数でも奇数でも次の周回で値が変わらない。(1)は実際に周回を追い、(2)は偶奇で場合分けして不変量を証明し、(3)は終了時 となることから答える。

解答

(1)

1周目の(b)では、問題文の通り である。 は偶数なので は変わらず、 になる。したがって2周目の(b)では である。

同様に も偶数なので、3周目の(b)では である。ここで は奇数なので、(c)で となる。その後 となるから、4周目の(b)では である。

(2)

ある周回の(b)における値を とする。まず が偶数のとき、(c)では は変わらず、次の周回では である。したがって である。

次に が奇数のとき、 とおく。(c)で となり、次の周回では である。したがって である。

よって、どちらの場合にも次の周回で は変わらない。したがって は1周目から最後まで一定である。1周目では なので、一定値は である。

(3)

算法が終了するのは(b)で となったときであり、そのとき と定められる。ところが なので である。(2)より は常に に等しいから である。

別解。この算法は、 を2進法で見たときの各桁に応じて を足す操作である。奇数なら現在の に足し、毎回 を半分、 を2倍にするので、最終的に 個分の が足される。したがって答えは になる。不変量 はこの考えを式で表したものである。