共通テスト(情報) 過去問
令和6年度(2024年度)本試験
問41 (<旧課程>情報関係基礎(第3問) 問6)
問題文
● まず、図5(a)に示すように、一番下の行の中央に1を記入する。
● 2以降の数zについては、基本的に、その前にz−1を記入したマスの右下のマスに記入する。
○ ただし、右下のマスが表の外側になるとき、下にはみ出る場合は一番上の行に、右にはみ出る場合は一番左の列に回り込む。右にも下にもはみ出る場合は、第0列第0行に回り込む。
○ 記入しようとするマスにすでに数が記入されていた場合は、z−1を記入したマスの一つ上のマスに記入する。
この手順を用いて3次の魔方陣を作成する。2を記入するときに下にはみ出るので、一番上の行に回り込む(図5(b))。これは9を記入するときも同様である。また、3を記入するときに右にはみ出るので、一番左の列に回り込む(図5(c))。これは8を記入するときも同様である。さらに、4を記入するときに3の右下のマスが埋まっているので、3の上のマスに記入する(図5(d))。なお、7を記入するとき、6の右下のマスは、右にも下にもはみ出るので、第0列第0行に回り込むが、すでに4が記入されているので、6がある第2列第2行の上のマスに記入する。完成形が図5(e)である。
この作成方法を手続きとしたものが図6である。配列Mahouに、作成する魔方陣のマスの値を格納していく。Mahou[x,y]の値が0のときは、そのマスは未記入であることを表している。最初に記入するマスの場所をNを用いて表すと、第( カ )列、第( キ )行となり、(03)行目で格納している。なお、a%bは、aをbで割った余りを求める演算である。
この手続きを実行すると、(06)行目は( ク )回実行される。
図6 3次の魔法陣を作成する手続き
(01)配列Mahouのすべての要素に0を代入する
(02)N←3
(03)x←( カ ),y←( キ ),Mahou[x,y]←1
(04)zを2からN✕Nまで1ずつ増やしながら,
(05)│ もしMahou[(x+1)%N,(y+1)%N]=0ならば
(06)│ │ x←( ケ ),y←( コ )
(07)│ を実行し,そうでなければ
(08)│ │( サ )
(09)│ を実行する
(10)│ Mahou[x,y]←z
(11)を繰り返す
( カ )にあてはまるものを1つ選べ。
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
共通テスト(情報)試験 令和6年度(2024年度)本試験 問41(<旧課程>情報関係基礎(第3問) 問6) (訂正依頼・報告はこちら)
● まず、図5(a)に示すように、一番下の行の中央に1を記入する。
● 2以降の数zについては、基本的に、その前にz−1を記入したマスの右下のマスに記入する。
○ ただし、右下のマスが表の外側になるとき、下にはみ出る場合は一番上の行に、右にはみ出る場合は一番左の列に回り込む。右にも下にもはみ出る場合は、第0列第0行に回り込む。
○ 記入しようとするマスにすでに数が記入されていた場合は、z−1を記入したマスの一つ上のマスに記入する。
この手順を用いて3次の魔方陣を作成する。2を記入するときに下にはみ出るので、一番上の行に回り込む(図5(b))。これは9を記入するときも同様である。また、3を記入するときに右にはみ出るので、一番左の列に回り込む(図5(c))。これは8を記入するときも同様である。さらに、4を記入するときに3の右下のマスが埋まっているので、3の上のマスに記入する(図5(d))。なお、7を記入するとき、6の右下のマスは、右にも下にもはみ出るので、第0列第0行に回り込むが、すでに4が記入されているので、6がある第2列第2行の上のマスに記入する。完成形が図5(e)である。
この作成方法を手続きとしたものが図6である。配列Mahouに、作成する魔方陣のマスの値を格納していく。Mahou[x,y]の値が0のときは、そのマスは未記入であることを表している。最初に記入するマスの場所をNを用いて表すと、第( カ )列、第( キ )行となり、(03)行目で格納している。なお、a%bは、aをbで割った余りを求める演算である。
この手続きを実行すると、(06)行目は( ク )回実行される。
図6 3次の魔法陣を作成する手続き
(01)配列Mahouのすべての要素に0を代入する
(02)N←3
(03)x←( カ ),y←( キ ),Mahou[x,y]←1
(04)zを2からN✕Nまで1ずつ増やしながら,
(05)│ もしMahou[(x+1)%N,(y+1)%N]=0ならば
(06)│ │ x←( ケ ),y←( コ )
(07)│ を実行し,そうでなければ
(08)│ │( サ )
(09)│ を実行する
(10)│ Mahou[x,y]←z
(11)を繰り返す
( カ )にあてはまるものを1つ選べ。
- 0
- N
- N−1
- N+1
- (N−1)÷2
- (N−1)%2
正解!素晴らしいです
残念...
この過去問の解説 (3件)
01
一番下の行の中央は、Mahou[1,2]です。
このマスの場所をNを用いて表します。
✕
Nが用いられていませんし、x=1です。
✕
N=3です。
✕
N−1=2です。
✕
N+1=4です。
○
(N−1)÷2=1です。
✕
(N−1)%2=0です。
参考になった数0
この解説の修正を提案する
02
この問題は、魔方陣作成の最初に「1」を記入するマスの列番号(カ)を求めます。アルゴリズムの説明に「一番下の行の中央に1を記入する」とあります。0-based indexingでN=3の場合、列は0・1・2で中央列は1です。一般化すると「中央列 = (N-1)÷2」(整数除算)となり、N=3では(3-1)÷2=1が得られます。したがって(カ)は(N-1)÷2です。
0は一番左の列(第0列)を表します。「中央に記入する」という条件を満たさず、N=3では列1が中央です。正しくありません。
NはN=3の場合は3になりますが、列の添字の範囲は0〜N-1(0〜2)なので、3は範囲外です。また中央列は(N-1)÷2=1であり、Nとは異なります。正しくありません。
N-1はN=3の場合は2(一番右の列)になります。一番下の行の「中央」に記入する条件から中央列(N=3では1)でなければなりません。N-1は最右列を指し、正しくありません。
N+1はN=3の場合は4となり、列の添字の範囲(0〜2)を超えた範囲外の値です。正しくありません。
(N-1)÷2は整数除算でN=3のとき(3-1)÷2=1となり、3列(第0〜2列)の中央列を正しく表します。「一番下の行の中央」という指定に合致します。正解の選択肢です。
(N-1)%2は(N-1)をNで割った余りを求めます。N=3のとき(3-1)%2=0となり、中央列(1列目)ではなく左端(0列目)になってしまいます。正しくありません。
「中央」の列番号は(N-1)÷2(整数除算)で求められます。N=3なら1、N=5なら2、N=7なら3と、Nが奇数のとき常に整数になります。「一番下の行」の行番号(キ)はN-1です。(カ)と(キ)の式をセットで理解しておきましょう。
参考になった数0
この解説の修正を提案する
03
正解は「(N-1)÷2」である。
問題文より、この作成方法を手続きとしたものが図6である。配列Mahouに、作成する魔方陣のマスの値を格納していく。Mahou[x,y]の値が0のときは、そのマスは未記入であることを表している。最初に記入するマスの場所をNを用いて表すと、第( カ )列、第( キ )行となり、(03)行目で格納している。なお、a%bは、aをbで割った余りを求める演算である。
とりあえず、2で割ればよいので、この時点で (N-1)÷2、 (N-1)%2のどちらかが正解になる。
上記より、「a%bは、aをbで割った余りを求める演算である。」という説明があるため、 (N-1)÷2となる。
したがって、(N-1)÷2が答えです。
参考になった数0
この解説の修正を提案する
前の問題(問40)へ
令和6年度(2024年度)本試験 問題一覧
次の問題(問42)へ