図1のように二つの正の数値A1,A2を読み取り,二つの数値B1,B2を出力するボックスがある。B1にはA2と同じ数値を出力し,B2にはA1をA2で割った余りを出力する。図2のようにこのボックスを2個つないだ場合,A1=15,A2=6のとき後方のボックスのB1に出力される数値は幾らか。 [図1] A1,A2 → ボックス[A2→B1, A1/A2の余り→B2] → B1,B2 [図2] 15,6 → ボックス → ボックス → B1,B2
イ. 3
正解はイ。ボックス処理:B1=A2,B2=A1÷A2の余り。前段:A1=15,A2=6→B1=6,B2=15÷6=2余り3→B2=3。後段の入力はA1=B1=6,A2=B2=3→B1=A2=3,B2=A1÷A2の余り=6÷3=2余り0→B2=0。よって後段のB1=3。この処理は最大公約数を求めるユークリッド互除法の動作で,前段+後段で15と6の最大公約数3を得ている.
ITパスポート 2009年 (平成21年 春期) の過去問一覧へ戻る・問72