土壌・植生・写真の解析に興味があります

近くの植生の観察、孫のプログラミング手伝いを目指します^_^

子供さん向けの「Pythonプログラミング」で、「9桁数字難問」の回答を

2020-06-17 20:58:27 | 日記

子供さん向けの「Pythonプログラミング」で、「9桁数字難問」の回答を目指します。

  • 9桁の数100,000,000から始めて1,000,000,000まで数を増やしながら、該当数字を探す方法です。それぞれの割り切れる条件を確認していきます。
  • 多くの該当する数字があることが分かりました。
  • 横軸は該当する数字で、縦軸は次の該当する数字までの大きさ(差分)です。
  • 周期性があるようですが、数式に表現できて、該当数値を予測するまでは難しそうです。

☆計算該当数は例えば次の様で、該当数はかなり多そうです、始めだけですが、

Pythonのコードは次のような簡単なものです。

 

i=100000000

while i < 1000000000:

    s=str(i)

    a=float(s[:1])%1

    #print(a)

    b=float(s[:2])%2

    #print(b)

    c=float(s[:3])%3

    #print(c)

    d=float(s[:4])%4

    #print(d)

    e=float(s[:5])%5

    #print(e)

    f=float(s[:6])%6

    #print(f)

    g=float(s[:7])%7

    #print(g)

    h=float(s[:8])%8

    #print(h)

    j=float(s[:9])%9

    #print(j)

    k=a+b+c+d+e+f+g+h+j

    #print(k)

    i=i+1

    if k*100==0:

        print(i-1)

    #else:

       # print(k*100)

 

#のついたコードは、実行しません。(見て確認するため用)

 「 h=float(s[:8])%8」 は、数字の左から8桁の数字(文字)を数字にして、

8で割ったあまりを計算(%)、これが該当数字なら「0」のはずです。

  k=a+b+c+d+e+f+g+h+jで、それぞれの桁の数の、割り算あまりを合わせて(k)、

「k=0」なら、この数字は、問題の条件を満たしていると判断します。

コードを実行するには、PythonをPCにインストールすればよいですが、

次のURLサイトに入ると、コードをコピペするだけで、Python実行できます。

https://paiza.io/ja/ :Python実行サイトを探してください。

(確認はしておりません、インデント(スペースの開け方)調整が必要かもしれません)


最新の画像もっと見る

コメントを投稿