技術士の過去問
平成29年度(2017年)
基礎科目「情報・論理に関するもの」 問9

このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。

問題

技術士 第一次試験 平成29年度(2017年) 基礎科目「情報・論理に関するもの」 問9 (訂正依頼・報告はこちら)

2以上の自然数で1とそれ自身以外に約数を持たない数を素数と呼ぶ。Nを4以上の自然数とする。2以上√N以下の全ての自然数でNが割り切れないとき、Nは素数であり、そうでないとき、Nは素数でない。

例えば、N=11の場合、11÷2=5余り1、11÷3=3余り2となり、
2以上√11≒3.317以下の全ての自然数で割り切れないので11は素数である。

このアルゴリズムを次のような流れ図で表した。流れ図中の( ア )、( イ )に入る記述として、最も適切なものはどれか。
問題文の画像
  • ア:I≧√N  イ:IがNで割り切れる。
  • ア:I≧√N  イ:NがIで割り切れない。
  • ア:I≧√N  イ:NがIで割り切れる。
  • ア:I≦√N  イ:NがIで割り切れない。
  • ア:I≦√N  イ:NがIで割り切れる。

次の問題へ

正解!素晴らしいです

残念...

この過去問の解説 (3件)

01

あるアルゴリズムに関して、問題文を読み、穴埋めをする問題です。

(ア)は、正の時ループに入り、偽のときに「素数である」と判定しループを終了する条件になります。
ループ条件は「I が 2 以上 √N 以下のとき」であり、そうでない場合はループを終了しますので、
(ア)には I ≦ √N が入ります。

(イ)は真のとき「素数ではない」と判定されることから、
「N が I で割り切れる」が入ります。

よって、ア:I ≦ √N、イ:N が I で割り切れる
となることから、5が正解です。

参考になった数13

02

正解は5です。
素数判定プログラムのフローチャートについての問題です。

アは偽のとき、素数であると判定しています。
素数であると判定出来るのは、
2以上√N以下の全ての自然数でNが割り切れないことを試行した後なので、
ループ脱出の条件が入ります。
したがて、アはI≦√Nです。

イは真のとき、素数でないと判定しています。
したがって、イにはNがIで割り切れる。 が該当します。

以上から、ア:I≦√N  イ:NがIで割り切れる。 となるので、
5が正解です。

参考になった数3

03

<正解>5

[解説]

素数判定のアルゴリズムの問題です。

問題文より、

2以上√N以下の全ての自然数でNが割り切れるか、割り切れないかによって、

「素数である」か「素数でない」かの判定を行うことになるため、

(ア)には、この条件が入ることになります。

よって、

(ア)は、「I≦√N」となります。

また、(イ)の条件を満たした場合には、

「素数でない」と表示されることになるため、

「NがIで割り切れる」かどうかの判定を行っていることが分かります。

よって、

(イ)は、「NがIで割り切れる」となります。

これらのことから、

「5」が正解となります。

参考になった数1