浅野直樹です。
「いくつかの連続な自然数の和が 1000 であるとき、この連続な自然数を求めよ。」という問題に挑戦しました。
問題はシンプルであり、直感的にいくつかの答えは出せそうですが、これだけしかないと論証するのは結構難しいです。
私なりの解答を載せておきます。
2019/12/21修正
(誤) b=1, 2, 3のとき
(正)b=0, 1, 2のとき
画像も差し替えました。
山の学校は小学生から大人を対象とした新しい学びの場です。子どもは大人のように真剣に、大人は子どものように童心に戻って学びの時を過ごします。
本当にこの答えが合っているかプログラミングで試してみました。
以下のような即席のpythonのコードです。
—————-
print (“The answers are…”)
for i in range(1001):
if i == 1000:
print (i)
continue
original_i = i
for j in range(i+1, 10001):
i = i + j
if i > 1000:
continue
elif i == 1000:
print (original_i, “…”, j)
print (“(finished)”)
—————-
次のように出力されました。
—————-
The answers are…
28 … 52
55 … 70
198 … 202
1000
(finished)
—————-
合っていたようですね。
コードの7行目「for j in range(i+1, 10001):」は「for j in range(i+1, 1001):」ですね。
また、10行目のcontinueはbreakにして、12行目のprint (original_i, “…”, j)の後にもbreakを入れるべきです。
不備が多くてすみません。