問1のロジックを考える
さて今回は、2016年度の灘中入試問題(算数1日目 大問5)をやってみましょう。
正解は67個。
では、「67」を導き出すためのプログラムロジックについて考えていきましょう。
まずは、変数iをつくり、2でも3でも5でも割り切れないという条件をつくります。
1000までの整数なので、1ずつのカウントアップを1000回繰り返すことに。
続いて、問1の設問を見てみましょう。
「一の位の数が7である整数」とは?
ロジックは、次のように表現できますね。
これで整数をピックアップする条件は出そろいました。
さて、そこで問題になるのは、カウントアップではじき出した変数をどのように控えていくのか。
ここで役に立つのが、リストです。
一つリストを作って、導きだされた変数をここにストックしていくことにします。
先ほどのロジックの中に、変数をリストに残していくプログラムを追加。
これを実行したところ、無事にリストに数が残っていきました。
リストの長さ「67」が正解になります。
最後に、キャラクターが正解を言うようにプログラミングを。
正解を導き出せれば、あとは簡単ですね。
問2にチャレンジ
さて、続いて問2。
これ、問1が出来上がっていると、楽勝のような気がするんですね。
一箇所だけです。
これを入れてやれば、OKじゃないでしょうか。
ロジックは問1のほうが難しかったですね。
全体構造はこちら。
ループ処理にちょっと時間がかかるので、「計算中」とセリフを入れています。
無事にリストアップできました。
正解は38個。