基本情報トップに戻る
練習問題難易度: 標準2025年度

基本情報技術者 過去問練習問題 第2問

問題

関数 change は、10 より大きい整数を引数 n で受け取り、1 円玉、5 円玉、10 円玉を使ってちょうど n 円にする組合せの総数を返す。例えば 12 円の場合、10 円玉を 0 枚使うと 1・5 円玉で 12 円にする組合せは(12÷5 の商)+1=3 通り、10 円玉を 1 枚使うと残り 2 円で(2÷5 の商)+1=1 通りあり、合計 4 通りである。次のプログラム(図)中の空欄に入れる正しい答えを、解答群の中から選べ。

の図表

選択肢

  1. 1rest ≧ 0
  2. 2rest ≧ 5
  3. 3rest ≧ 10
  4. 4rest > 0
  5. 5rest > 5
  6. 6rest > 10

正解

1. rest ≧ 0

詳しい解説を見る

解説

プログラムは rest(残額)から 10 円玉 1 枚分の 10 を繰返し引きながら、その都度 1・5 円玉でちょうど rest 円にする組合せ数(rest÷5 の商)+1 を加算していく。例の 12 円では、rest=12 のとき 2+1=3 通り、10 円玉を 1 枚使った rest=2 のとき 0+1=1 通りを数えて合計 4 通りとなる必要がある。rest=2 はまだ有効な残額なので加算対象に含めなければならず、ループは残額が 0 以上の間続ける必要がある。したがって条件は rest ≧ 0 が正しく「ア」となる。rest ≧ 10 や rest > 0 とすると rest が 0〜9 の場合(例の rest=2 など)を数え落とし、正しい総数にならない。(出典: 令和7年度 基本情報技術者試験 科目B 問2)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。