応用情報技術者試験 2013年 春 午前 7問目 (続けちゃって良いのか?

 

 

今日は普通に3問目に行くと思ったら大間違い!!

7問目いってみよう。

 

って、続けちゃって大丈夫なのかな??
見てる人もほとんどいないだろうから良いかwww

 

f:id:hos-b4:20130425004932p:plain

 

さて、この問題。
プログラムをわかってないと慌ててしまうのでちょっとプログラムの流れをみてみよう。

最初のforで配列A(2)~A(100)までに1をセットする
2つ目と3つ目のforで素数じゃない数字は配列Aの中身を0に上書きする
最後のforは配列Aの中身が0以外(素数)を表示させている

こんな感じかな。

さて、問題は3つ目のforに入る初期値、終値、増分。

プログラム的に素数であるかないかを判定しているifが無い事から3つ目のforで返される値がそのまま素数じゃない数値と考えられる。

素数とはその数字でしか割り切れない数字の事ですね。100までとはいえ全ての素数を言うのは面倒だけど1ケタの素数ぐらいならわかるよね?

2,3,5,7

ですよね。

という事は選択肢の中でkが4から始まるで絞り込む事が出来る。

mには最初2が入っているので、

 イ 2m

 エ mの2乗

のどちらかという事になる。

次にmが3になった場合

 イは6、エは9

どちらもちゃんと素数ではない数字をなのだけど、エの場合は6と8の配列Aを0にする事が出来ないので、回答はイとなる。