必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 基本情報技術者
  3. 平成18年度秋季問題一覧
  4. 平成18年度秋季問題15-解答・解説-分析

平成18年度秋季問題

問題15

次の規則に従って配列の要素A[0]、A[1]、・・・・、A[9]に正の整数Kを格納する。16、43、73、24、85を順に格納したとき、85が格納される場所はどれか。ここで、X mod YはXをYで割った剰余を返す。また、配列の要素はすべて0に初期化されている。
[規則]
(1) A[K mod 10]=0ならば、K→A[K mod 10]とする。
(2) (1) で格納できないとき、A[ (K+1) mod 10]=0ならば、K→A[ (K+1) mod 10]とする。
(3) (2) で格納できないとき、A[ (K+4) mod 10]=0ならば、K→A[ (K+4) mod 10]とする。

A[3]
A[5]
A[6]
A[9]

次の規則に従って配列の要素A[0]、A[1]、・・・・、A[9]に正の整数Kを格納する。16、43、73、24、85を順に格納したとき、85が格納される場所はどれか。ここで、X mod YはXをYで割った剰余を返す。また、配列の要素はすべて0に初期化されている。
[規則]
(1) A[K mod 10]=0ならば、K→A[K mod 10]とする。
(2) (1) で格納できないとき、A[ (K+1) mod 10]=0ならば、K→A[ (K+1) mod 10]とする。
(3) (2) で格納できないとき、A[ (K+4) mod 10]=0ならば、K→A[ (K+4) mod 10]とする。

A[3]
A[5]
A[6]
A[9]

解答:エ

<解説>

16,43,73,24,85 を規則に従い、順に格納していく。

k=16 A[16 mod 10]=A[6] 16をA[6]にセットする
k=43 A[43 mod 10]=A[3] 43をA[3]にセットする
k=73 A[73 mod 10]=A[3]
A[3]には値が入っているので、規則2より
A[(73+1) mod 10]=A[4]
73 A[4]にセットする
k=24 A[24 mod 10]=A[4]
A[4]には値が入っているので、規則2より
A[(24+1) mod 10]=A[5]
24をA[5]にセットする
k=85 A[85 mod 10]=A[5]
A[5]には値が入っているので、規則2より
A[(85+1) mod 10]=A[6]
A[6]には値が入っているので、規則3より
A[(85+4) mod 10]=A[9]
85をA[9]にセットする