ホーム>センター実戦コース>2000センター数学IIB 本試験

●問題
第6問 (選択問題) (配点 20)
nを2以上の整数とする。このとき、座標平面上の点(x , y)で、 xとyがx+y<=nを満たす正の整数であるものの全体に、 1,2,....と順に番号を付けるため、次のプログラムをつくった。
このプログラムでは、たとえば、1番目が点(1 , 1)であれば

1)   1  1
のように出力される。

10 INPUT "n=";N
20 S=0
30 FOR K=2 TO N
40     FOR X=1 TO [ア]
50        Y=K-X:S=S+1
60        PRINT S;")";X;Y
70     NEXT X
80 NEXT K
90 END
(1) 上のプログラム中の[ア]に、 次の(1)から(9)のうちから適当なものを一つ選んでプログラムを完成せよ。
(1)K+1(2)K(3)K-1(4)N+1(5)N
(6)N-1(7)N-K+1(8)N-K(9)N-K-1

が表示される。

(2) このプログラムを実行し、n=?に対して3を入力すると、新たに

1)   [イ]  [ウ]
2)   [エ]  [オ]
3)   [カ]  [キ]

が表示される。

(3) このプログラムを実行し、n=?に対して8を入力すると、 新たに表示される10番目、20番目および最後から一つ前の行はそれぞれ

10)   [ク]  [ケ]
20)   [コ]  [サ]
[シス])   [セ]  [ソ]

となる。
(4) このプログラムによって点(4 , 3)が表示されるような最小のnは[タ]であり、 そのとき、この点は[チツ]番目に表示される。
●問題の急所

「格子点」とは、x座標、y座標がいずれも整数である点のことです。 例えば、(1 , 1)や(-4 , 8)は格子点です。 ただし、「格子点」を知らなくても解けるので心配は要りません。 また、この問題では n が絡んでいるので実験すると簡単に解けます。

「**を入力すると、---が表示される」タイプをこれからは「実験タイプ」と呼びます。 このように、具体的な数値を入力させて、その後の結果を聞いてくるタイプの問題では、 どんどん処理を追って実験していくのが常道です。この解き方は、数列の問題にも有効なので、 知っていて損はありません。

  1. 変数の役割を理解せよ
    数学で使う変数と同じものがあるので、比較的分かりやすいでしょう。
    • X
      FOR-NEXTで使っている変数。問題文のx、座標平面上でのx座標を表します。
    • Y
      問題文のy、座標平面上でのy座標を表します。
    • K
      x+yの値。なぜなら、50行にY=K-Xとあるからです。
    • S
      格子点に割り振られる番号を表します。
  2. 「**を入力すると、---が表示される」タイプは実験あるのみ
    (2)では、n=3を入れた場合ですから、x+y=2、x+y=3の二つの場合を実験すればOK。 n=8の場合も同様に実験してもよいですし、推測して答えてもよいでしょう。
では、問題の解説を行います。

プログラムの概要は?
格子点の図

このプログラムでは、直線x+y=k(図のだいだい色の直線)上の格子点に、 左上の格子点から順に番号を付けています。 kは2-->n-1まで動きます。なので、図の青色からピンク色の直線へ、 順番に番号を付けて行きます。 ただし、青色、ピンク色の直線は含みません。
注意 : 図の●は格子点のことです。


(1)   この2重ループの内側のループ(40 FOR X=2 TO [ア] <---> 70 NEXT X)は、 2<=K<=Nを満たす整数Kごとに実行されます。 また、直線X+Y=K上の格子点であり、X,Yは正の整数、つまり、 1以上の整数でないといけないですから、[ア]にはK-1が入ります。答えは、[ア]=3です。

(2)   「実験する」と効果的です。 余白に直線X+Y=3を引いて、それより下側(で第一象限上)にある格子点を見つければ答えは自ずと分かります。 ただし、答えを入れる順番に注意して下さい。 2) [エ] [オ]、3) [カ] [キ]に[エ]=2[オ]=1、[カ]=1[キ]=2としてはいけません。 なぜなら、プログラムでは、X座標の小さい方から順に調べているからです。 [エ]=1[オ]=2、[カ]=2[キ]=1が答えです。

(3)   この問題もまずは余白に直線X+Y=8を描いて、 それより下側(で第一象限上)にある格子点を見つけて下さい。数える順番に注意すれば、 答えはすぐに出ます。
実験をしなくても解答は出せます。 最後の[シス][セ][ソ]は直線x+y=8上にある格子点です。[シス]は、順番に注意して下さい。題意の格子点の数-1が答え。 [セ][ソ]は、直線x+y=8上にある格子点で、最後から2つ目の格子点です。最後の格子点は、(7 , 1)ですから、 求める格子点は(6 , 2)です。[セ]=6,[ソ]=2

●解答
20点満点です。
解答記号解答配点
[ア]34
[イウ],[エオ],[カキ]1 1,1 2,2 14
[ク],[ケ]4 , 12
[コ],[サ]5 , 12
[シス],[セ],[ソ]27,6,23
[タ]72
[チツ]193
△このページの一番上へ|△戻る

 Copyright© 2002-2003 Home , All rights reserved.