余りの計算とボックスの連結で出力をどう追うか
ITパスポート試験 平成31年度春期 問71 / アルゴリズムとプログラミング › アルゴリズムとプログラミング
過去問にチャレンジ
図1のように二つの正の整数A1,A2を入力すると,二つの数値B1,B2を出力するボックスがある。B1はA2と同じ値であり,B2はA1をA2で割った余りである。図2のように,このボックスを2個つないだ構成において,左側のボックスのA1として49,A2として11を入力したとき,右側のボックスから出力されるB2の値は幾らか。

- ア
1
- イ
2
- ウ
4
- エ
5
会話形式の解説
講師ボックスを二つつないだ図では、左側の出力を右側の入力として順に追います。
受験者左側では49を11で割るので、余りは5です。この5が答えでしょうか。
講師5は左側の下の出力です。上には、入力された11がそのまま出ます。
受験者図の線を追うと、右側の上の入力が11、下の入力が5になりますね。
講師そうです。右側の下の出力を求めるには、11を5で割った余りを計算します。
受験者11=5×2+1なので、余りは1です。
講師そのとおりです。選択肢の2は、この割り算の商なので答えにはなりません。
受験者4は、左側で49を11で割ったときの商ですね。これもボックスからは出ません。
講師はい。5は左側の余りですが、右側では次の割り算の入力になります。
受験者左側の余りで計算を止めず、右側の余りまで求めるので、答えは1ですね。
まとめ
左側のボックスは、上に11、下に49を11で割った余りの5を出力します。この二つが右側の入力になるため、右側の下の出力は11を5で割った余りです。11=5×2+1より、答えはアの1です。商の4や2、途中の余り5と取り違えないようにします。
解答・解説
正解はアです
この問題のテーマ
二つのボックスを順につないだとき、出力を次の入力に置き換えて余りを計算できるかを問う問題です。
解き方の考え方
左のボックスでは、49=11×4+5なので、上の出力B1は11、下の出力B2は5です。図2では、この二つがそのまま右のボックスのA1とA2に入ります。したがって右のB2は、11を5で割った余りです。
選択肢ごとの解説
- ○ア 11は右のボックスが出力する余りです。11=5×2+1と計算できるので、B2は1になります。
- ×イ 22は11を5で割ったときの商です。B2に出るのは商ではなく余りなので、2にはなりません。
- ×ウ 44は左のボックスで49を11で割ったときの商です。このボックスは商を出力せず、B2に余りの5を出力します。
- ×エ 55は左のボックスのB2であり、右のボックスではA2として使われます。求めるのは右のB2なので、さらに11を5で割った余りを計算します。
補足
左のボックスの余り5を見つけた時点で計算を止めると、エを選んでしまいます。右のボックスまで追い、最後に11=5×2+1で検算すると、答えはアの1だと確認できます。
POINT
- 各ボックスのB1には、入力A2の値がそのまま出ます。
- 各ボックスのB2には、A1をA2で割った余りが出ます。
- 箱をつないだ図では、前の箱の出力を次の箱の入力として順に追います。
- 「割った余り」を求めるときは、割り算の商と取り違えないようにします。
