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

九州大学 2003年度
文系数学 第3問(c)

問題

% 図は省略(流れ図)

(1) 次の流れ図に対応するプログラムを実行する.を入力したとき,およびの値を出力順にすべて示せ.

(2) 座標平面上で,座標と座標がともに整数である点を格子点と呼ぶ.自然数を入力したとき,第1象限(軸,軸は含まない)にあり,かつ中心がで半径がの円の内部および周上にある格子点の個数と,それらの格子点のうちで原点からの距離が最大である格子点(複数個あるときは座標が最大のもの)の座標を出力するプログラムの流れ図を,方針を記述してから作成せよ.

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

方針

既存確認済みの流れ図を、 を満たす自然数の組を小さい から調べ、出力個数 を数える処理として読む。(2) は円を含む第1象限内の整数長方形だけを探索範囲にし、各格子点が円内にあるかを判定する。個数を増やす処理と、原点からの距離最大かつ同距離なら 座標最大という更新条件を分けて設計する。

解答

(1)

この流れ図は、 を満たす自然数の組を、 の小さい順に調べて出力し、その個数を として最後に出力する処理である。 の正の約数は である。したがって、出力される は順に である。組の個数は8個なので、最後に を出力する。

(2)

方針は、円を含む最小限の整数長方形を調べ、その中で第1象限にある格子点だけを判定することである。

まず探索する の範囲は でよく、 の範囲は でよい。ここで下限を1以上にするのは、第1象限で 軸、 軸を含まないからである。

各格子点 について を満たすなら、その点は円の内部または周上にあるので、個数 を1増やす。

さらに、最大距離の点を記録するため、現在の記録を 、最大距離の2乗を とする。新しい点が円内にあるとき なら記録を更新する。また で、かつ なら、問題の指定に従って 座標が大きい点へ更新する。

すべての候補を調べ終えたら を出力すればよい。流れ図では、外側の繰り返しで を動かし、内側の繰り返しで を動かすようにすれば実現できる。