2012年3月17日土曜日

=== 平成23年秋 問6 ===


平成23年秋目次  前の問題  次の問題

問6

次の規則に従って配列の要素 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] とする。


ア A[3]    イ A[5]    ウ A[6]    エ A[9]


解説

■k=16の場合。-> 16 mod 10 は6
(1)A[6]=0なのでA[6]に16を代入する。

■k=43の場合。-> 43 mod 10 は3
(1)A[3]=0なのでA[3]に43を代入する。

■k=73の場合。-> 73 mod 10 は3
(1)A[3]にはすでに上の処理で43が格納されているため(2)の処理を行う。
(2)(k+1) mod 10は4 A[4]=0なので、A[4]に73を代入する。

■k=24の場合。-> 24 mod 10 は4
(1)A[4]にはすでに上の処理で73が格納されているため(2)の処理を行う。
(2)(k+1) mod 10は5 A[5]=0なので、A[5]に24を代入する。

■k=85の場合。-> 85 mod 10 は5
(1)A[5]にはすでに上の処理で24が格納されているため(2)の処理を行う。
(2)(k+1) mod 10は6 A[6]は16がすでに格納されているため、(3)へ。
(3)(k+4) mod 10は9 A[9]=0なのでA[9]に85を代入する。

よって、85はA[9]に格納された



0 件のコメント:

コメントを投稿