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

残額0も1通り。継続条件は残額0以上とする

頻出基本情報技術者試験2025年度 公開問題 科目B2/アルゴリズムとプログラミング / アルゴリズム

〔プログラム〕 ○整数型: change(整数型: n) 整数型: count ← 0 整数型: rest ← n while ( ) count ← count + (rest ÷ 5 の商) + 1 rest ← rest − 10 endwhile return count

選択肢

正解と解説

正解: rest ≧ 0

ループは10円玉の枚数を0枚、1枚…と増やしながら、残額を1円玉と5円玉で作る組合せ数(残額÷5の商+1)を足していく。残額が0になった場合も、すべて1円玉0枚・5円玉0枚という1通りが存在するので数えなければならない。したがって継続条件は残額が0以上であることになる。

選択肢ごとの解説

出典:令和7年度 公開問題 基本情報技術者試験 科目B 問2(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。