正の整数 M に対して,次の二つのアルゴリズムを実行したとき,結果 x の値が等しくなるようにしたい。a に入れる条件として適切なものはどれか。(原問の流れ図を擬似コードで再現) 〔アルゴリズム1〕x←1。n を M から 1 まで 1 ずつ減らしながら x←x×n を繰り返す。 〔アルゴリズム2〕x←1,n←1。次を繰り返す:x←x×n; n←n+1; もし a が成り立てば終了。

テクノロジ系・一部改変

ア n<M

なぜ違う: 早く終了し、M! より少ない回数しか掛けられない。

イ n>M−1

なぜ違う: n=M で終了するため (M−1)! になってしまう。

ウ n>M
エ n>M+1

なぜ違う: M+1 まで掛けてしまい (M+1)! になる。

正解: ウ

要点: 1 は M! を計算。2 で n=M まで掛け n=M+1 で終了する条件は n>M。

アルゴリズム1は x=M×(M−1)×…×1=M!。アルゴリズム2は n=1,2,… と掛けるので、x←x×M の直後に n=M+1 となって終了すれば M! になる。n=M で継続・n=M+1 で終了する条件は n>M。

関連キーワード: 流れ図・アルゴリズム・階乗・計算

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

応用情報技術者の学習アプリ(応用情報トレ)

出典:令和6年度 春期 応用情報技術者試験 午前 問5