基本情報技術者平成18年秋期 午前問15

午前問15

次の規則に従って配列の要素A[0],A[1],…,A[9]に正の整数Kを格納する。16,43,73,24,85を順に格納したとき,85が格納される場所はどれか。ここで,X mod YはXをYで割った剰余を返す。また,配列の要素はすべて0に初期化されている。

〔規則〕
  • A[K mod 10]=0ならば,K→A[K mod 10]とする。
  • (1)で格納できないとき,A[(K+1) mod 10]=0ならば,K→A[(K+1) mod 10]とする。
  • (2)で格納できないとき,A[(K+4) mod 10]=0ならば,K→A[(K+4) mod 10]とする。
  • [この問題の出題歴]
  • 基本情報技術者 H23秋期 問6
  • 基本情報技術者 H25秋期 問7

分類

テクノロジ系 » アルゴリズムとプログラミング » データ構造

正解

解説

整数が配列に格納されていく流れを1つずつ順番に考えてみましょう。
[16の格納]
  • 16 mod 10=6,A[6]=0なので、16をA[6]に格納します。
[43の格納]
  • 43 mod 10=3、A[3]=0なので、43をA[3]に格納します。
[73の格納]
  • 73 mod 10=3,A[3]には43が入っているので格納できません。
  • (73+1) mod 10=4、A[4]=0なので、73をA[4]に格納します。
[24の格納]
  • 24 mod 10=4、A[4]には73が入っているので格納できません。
  • (24+1) mod 10=5、A[5]=0なので、24をA[5]に格納します。
[85の格納]
  • 85 mod 10=5、A[5]には24が入っているので格納できません。
  • (85+1) mod 10=6、A[6]には16が入っているので格納できません。
  • (85+4) mod 10=9、A[9]=0なので、85をA[9]に格納します。
データの格納は上記の流れで行われるので、85が格納される位置はA[9]となります。
© 2010-2021 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop