初めてです

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
はやしさん  
(No.1)
エラトステネスの篩を用いて2から100までの素数を求めるプログラムを考えます。
以下の疑似コードの空欄に入る適切な式を選んでください。

整数型配列 isPrime[100]
整数型: i, j

for (i ← 1 to 100)
    isPrime[i] ← true
endfor

isPrime[1] ← false

for (i ← 2 to 10)  // 10は√100の整数部分
    if (isPrime[i]) then
        j ← [   ]
        while (j ≦ 100)
            isPrime[j] ← false
            j ← j + i
        endwhile
    endif
endfor

結果として、isPrime[i]がtrueである iの値が2から100までの素数となります。


選択肢:
a) i * 2
b) i * i
c) i + 1
d) i + 2

初めて受験するものです。およそ半年前から勉強を始めました。プログラミングなどの経験はありません。質問ですがこの正解はbだそうですがaも合ってるように思えます。どうなんでしょうか。このくらいわからないと受験きびしいですかね
2024.11.19 18:50
オクトーブルさん 
(No.2)
「エラトステネスの篩」のアルゴリズムを知っているかどうかの問題なので、合否を分けるほどではないと思います。
私もはやしさんの投稿を見て、トレースしてみて「本当だ。aでもbでも求めらる!もしかして出題ミス?」なんて思いました。エラトステネスの篩は知りませんでしたが、合格はできました。
調べてみたところ、
選択肢aでも素数を求めることはできる。
ただし、エラトステネスの篩ではない。
「エラトステネスの篩を用いて」という条件であればbが正解ということのようです。

aとbでは計算量が異なり、
例えば、i=7だとすると
選択肢aだと14からwhile文を回すことになりますが、選択肢bだと49からでよいので回数を減らすことができます。
このプログラムの引数が100ならばあまり差はありませんが、数値が大きくなるほど選択肢aとbの場合で、計算量の差が大きくなるようです。
2024.11.20 00:19
boyonboyonさん 
FE シルバーマイスター
(No.3)
a,bともに答えは出ますが、計算の回数が違ってきます。

i=2
a)i*2のとき
4,6,8,10・・・
b)i*iのとき
4,6,8,10・・・
同じですが、

i=3
a)のとき
6,9,12,15・・・
b)のとき
9,12,15・・・
***6は、i=2のときに、すでにfalseになっているので調べる必要がない。

i=5のとき
a)  10,15,20,25,30・・・
b)  25,30・・・
***10,15,20は、i=2,3のときに、すでにfalseになっている。

i=7のとき
a)  14,21,28,35,42,49,56・・・
b)  49,56・・・
***14,21,28,35,42は、i=2,3,5のときに、すでにfalseになっている。

プログラムでは、計算量が少ない方がよろしいかと思います。
2024.11.20 00:43
adkさん 
(No.4)
本試験で、エラトステネスの篩を用いなければ、答えは合ってても計算量的に不正解!のような類の問題は、たぶん今まで1度も見た事ないです。
なんか問題のベクトルがIPAらしくない感じ。
もしこれをあの時間内で正解出来るとなると、700〜800点くらい取れちゃう気がするので、現状なら出来なくても大丈夫かなあと。

まあ2〜3年後のFEとかだと難易度インフレして出るような気もしますがw
2024.11.20 07:36
はやしさん  
(No.5)
皆様ありがとうございます。解説までつけてもらって助かりました。
2024.11.20 08:19
まーぼさん 
FE シルバーマイスター
(No.6)
a,bどちらもエラトステネスの篩と呼べるアルゴリズムにはなると思います。ただ効率がいいアルゴリズムかどうかになるのかと…。選択肢も同じならこの問題は出ないような問題な気がします。サンプル問題では、アルゴリズムの効率よりもアルゴリズムでちゃんと答えが求められるかしか聞いていなかった覚えです。
2024.11.20 10:29
はやしさん  
(No.7)
返信ありがとうございます。この問題はネットのたかいさんの練習問題で見かけました。他にも問題が載っています。自分は普段ペンギンの問題集と参考書で勉強しています。これから受けようと思うのですが自信がありません。
2024.11.20 12:34
boyonboyonさん 
FE シルバーマイスター
(No.8)
ちょっと余計な話ですが、応用情報の令和6年秋期午後問3に同じアルゴリズムが出ています。興味がおありならご覧になってみてください。
2024.11.20 18:16
はやしさん  
(No.9)
ありがとうございます。是非チェックして学習したいと思います。
2024.11.20 20:41

返信投稿用フォーム

※CBT試験では出題内容の公開が禁止されているため、直接的・間接的を問わず、出題内容や難易度を尋ねる質問は厳禁です。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop