子供さん向けの「スクラッチプログラミング」で、次の難問の回答を目指します。
プログラムは、次のスクラッチサイトにあります。
- 数を増やしながら、該当数字を探す方法。https://scratch.mit.edu/projects/401645454
- 9桁乱数を発生させ、該当数字を探す方法。https://scratch.mit.edu/projects/401647326
どちらも、一つ見つけるのに、20分くらいかかりました。
これは、電卓使ってどう考えてもわかりませんが、
スクラッチプログラミングなら、そのまま解くことができます。(次の2通り)
- 9桁の数字を順次1つづつ増やしながら、問題の条件に合う数字を見つける。
- 9桁の数字を乱数で発生させて、問題の条件に合う数字を見つける。
- の方法の実行画面は次のように、
9桁の数字を順次1つづつ増やしながら、問題の条件に合う数字を見つける。
スクリプトは次のように、スタートして、メッセージが届くと、
9桁数字を9で割り切れるか、8桁数字を8で割り切れるか、
7桁数字を7で割り切れるか、6桁数字を6で割り切れるか、
5桁数字を5で割り切れるか、4桁数字を4で割り切れるか、
3桁数字を3で割り切れるか、2桁数字を2で割り切れるか を順次調べます。
スタート時に、計算を始める数字(9桁)を指定します。
このプログラムでは、該当する数字が見つかると、そこで数字を表示して停止。
さらに該当する数字を見つけるには、該当数字より大きい数字を始める数字に指定。
たとえば該当する数字は、「102000564」、「105204402」などですが、
1つ見つけるのに、20分くらいかかります。
- 9桁の数字を乱数で発生させて、問題の条件に合う数字を見つける。方法は
次のようなスクリプトです。
まず9桁の数字「abcdefghi」を作ります。
次にそれぞれの桁数の数字を、桁数の数を割り切れるか、確認します。
すべての条件で割り切れた数字を「588058884」を表示して、停止します。
※コメント投稿者のブログIDはブログ作成者のみに通知されます