自然数Nに対して,Nを2で割った商にNの値を更新する操作を行い,この操作をNが0になるまで繰り返す。このとき,それぞれの割り算で出てきた余りの値を逆に並べたものがNの2進数表示となる。例えば,N=11から始めると,
- 11 ÷ 2 = 5 余り 1
- 5 ÷ 2 = 2 余り 1
- 2 ÷ 2 = 1 余り 0
- 1 ÷ 2 = 0 余り 1
であり,出てきた余り(1101)を逆に並べた(1011)が11の2進数表示である。このアルゴリズムを次のような流れ図で表した。流れ図中の,(ア)〜(ウ)に入る式又は記号として,最も適切なものはどれか。
ア | イ | ウ | |
① | N > 0 | N = 0 | Nを2で割った商 |
② | N > 0 | N = 0 | Nを2で割った余り |
③ | N = 0 | N > 0 | Nを2で割った商 |
④ | N = 0 | N > 0 | Nを2で割った余り |
⑤ | N > 0 | N = 0 | 2N |
解答
①
解説
フローチャートの形から,(ア)は繰り返し条件,(イ)は終了条件であることがわかります。そして,問題文に「Nが0になるまで繰り返す」とあるので,(ア)はN>0,(イ)はN=0となります。
また,(ウ)は減らしていくNの値になりますので,Nを2で割った商が入ります。
実際にN=11を入れて,フローチャートをなぞっていくと,問題文にある通りになることがわかります。
参考情報
過去の出題
なし
オンラインテキスト
(作成中)