IPA過去問ドリル

平成25年度 秋期 基本情報技術者試験 午前 問7

テクノロジ/アルゴリズム

次の規則に従って配列の要素 A[0],A[1],…,A[9] に正の整数 k を格納する。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]に格納する。

出典:平成25年度 秋期 基本情報技術者試験 午前 問7

正解:エ

解説

規則に従って格納すると,16→A[6],43→A[3](43 mod 10=3が空き),73→(1)は73 mod 10=3が使用中なので(2)の74 mod 10=4に格納,24→(1)の4は使用中,(2)の25 mod 10=5に格納,85→(1)の5は使用中,(2)の86 mod 10=6も使用中,(3)の(85+4) mod 10=9が空きなのでA[9]に格納されます。

選択肢ごとの解説

  • 誤り。A[3]には43が格納されており,85が入る場所ではありません。
  • 誤り。A[5]には24が格納されており,85が入る場所ではありません。
  • 誤り。A[6]には16が格納されており,85が入る場所ではありません。
  • 正しい。85は(1)(2)ともに格納先が使用中のため(3)の規則が適用され,(85+4) mod 10=9のA[9]に格納されます。
基本情報技術者の過去問を演習モードで解く