タイトルの「3912657840」という数値。
この数は、0から9までのすべてを1個ずつ使った数(大町数)であり、1から10までのすべてで割り切れる数です。
この様な数は他にもあるのかを考えてみる。
1で割り切れるためには、自然数であれば良いので、大町数という条件で既に満たしている。
3で割り切れるためには、各桁の合計が3で割り切れれば良いので、
0+1+2+3+4+5+6+7+8+9=45
45は3で割り切れるので、3は大町数である限り条件を満たすことになります。
同様に9で割り切れるためには、各桁の合計が9で割り切れれば良いので、45は9で割り切れるので、満たしている。
2と5で割り切れるためには、一の位は0でなければならないので、一の位の0は確定となります。
これによって、2x3=6で割り切れることも満たしています。
同様に4や8で割り切れるためには、十の位は2、4、6、8のいずれかである必要があります。
残りの条件は7で割り切れるかだけです。
ただ、この方法はプログラミングとかでやれば出来るだろうけど、頭の中や紙の上だけとかだと厳しいのではないだろうか。
ざっと考えるために、最小公倍数を考えてみる。
1~9の最小公倍数は2520。
109÷2520≒396825.396825...
1010÷2520≒3968253.96825...
3968253-396825=3571428
と、大町数を考えなければ、約400万個、十億の位が1以上でも約350万個以上から、大町数の条件で絞り込むことになります。
流石に何万個ものデータの大町数の判定は手作業では厳しいですね。
プログラムを書いて数えてみたところ、2520の倍数で10桁の大町数になるのは、11460個ありました。
さて、そんななかで「3912657840」が選ばれている理由、つまり条件が他にもあるということです。
・大町数
・1~9で割り切れる。
・隣り合う2つの桁でも割り切れるです。
つまり、3912657840は、39、91、12、26、65、57、78、84、40のいずれでも割り切れるということです。
これはプログラムを組んで確認した所、唯一無二でした。
皆さんは、この3912657840を導き出すプログラムを書かなければならないとき、どのような設計をして、コーディングするのでしょうか?
それらに必要な情報は、この記事内に結構あがっていますね。
ではでは、
↧
3912657840
↧