• ベストアンサー

1÷7の循環小数についてなのですが・・・。

ずいぶん昔に気づいたことなんですが、1÷7の循環小数についてなのですが、 1÷7=0.142857142857・・・・ なのですが、この142857という数字を2桁ずつに分割したとき、 14、28、57なのですが、この「14」を2倍したときの数字がその隣りの「28」になり、その28を2倍すると56、それを2倍にすると112、二桁区切りなのであぶれた百の位の数字1を前の56に足すと「57」。その112を2倍すると224。百の位の2を隣りの12(112の十の位と一の位です)に足すと「14」・・・。と言う風に、最初の「14」と言う数字を2倍していき、二桁区切りにして足していくとどんなに倍、倍、していっても142857...という数字になっていくのです。 14という数字を二倍していくと、 14 28 56 112 224 448 896 1792 3584・・・ 二桁区切りにして、あぶれた上の位を前の数字に繰り上げていくと、 14 28 56+1 12+2 24+4 48+8 96+17 92+35・・・ 14 28 57 14 28 56 113 127・・・ 14 28 57 14 28 56+1 13+1 27+・・・ 14 28 57 14 28 57 14 ・・・ という具合で、142857が続きます。 ちょっと文章では伝わりにくいですね・・・。言ってる意味わかりますか? 私はこの法則を中学のときに発見して、そのときは特に何も感じず、誰にも言わないでいたのですが、大人になった現在、急に気になってしまい、この数字の法則は結構有名なものなのか?「~の法則」みたいな名前とかあるのか?というのが知りたいのです。本当に単純な好奇心なのです。誰かご存知の方いらっしゃいましたら教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.6

面白い性質ですね。 法則の名前はわかりませんが、気のついた点をいくつか書きます。 まず、1÷49が同じ性質を持っています。 02から出発して、2倍、2倍していくと、 02 04 08 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 … 百位以上を繰り上げると、 02 04 08 16 32 65 30 61 22 44 89 79 59 18 36 73 46 93 87 75 51 02 04 … これを2倍して百位を繰り上げると、2桁ずれて 04 08 16 32 65 30 61 22 44 89 79 59 18 36 73 46 93 87 75 51 02 04 08 … これは、1÷49の循環小数で、周期が42桁です。 1÷49 = 0. 02 04 08 16 32 65 30 61 22 44 89 79 59 18 36 73 46 93 87 75 51 02 04 08 … ◇◇◇◇◇◇◇ 出発する数は、02~48の偶数ならどれでも可能です。 出発する数のうち、周期が6桁になるのは 14, 42, 28の3個。 周期が42桁になるのは、02, 04, 06, 08, 10, 12, 16, 18, 20, 22, 24, 26, 30, 32, 34, 36, 38, 40, 44, 46, 48の21個。 奇数ではいけない理由は、最後に自分自身に戻らないからです。また、50以上ではいけない理由は、自分より左に繰り上がるためです。 ◇◇◇◇◇◇◇ ちなみに、1÷499の循環小数を使うと、3桁区切りで同じことができます。 002 004 008 016 032 064 128 256 513 026 052 104 208 416 … 625 250 501 周期は498桁で、002~498のすべての偶数から出発できます。 ◇◇◇◇◇◇◇ <なぜこうなるかについて> 筆算で1÷7を計算するとき、小数第2位まで計算したところで余りが2になります。つまり、そこから先は2÷7を計算しているのと同じです。ですから、1÷7の答を2倍すると、ちょうど全体を2桁ずらしたものになるのです。 同じことで、1÷49も、小数第2位まで計算して余りが2になります。 1÷499は、小数第3位で余りが2になりますので、1÷499の答を2倍すると、ちょうど全体を3桁ずらしたものになります。 ◇◇◇◇◇◇◇ <他の例>ほかにもたくさん(無限に)あります。 1÷31 は周期30桁、1÷127 は周期36桁で、どちらも2倍すると6桁ずれます。 1÷31 = 0. 032258 064516 129032 258064 516129 032258 … 1÷127= 0. 007874 015748 031496 062992 125984 251968 503937 007874 … ◇◇◇◇◇◇◇ 2桁ずれる条件を計算してみます。 出発値をA、2倍すると2桁ずれる小数をBとすると、 100*B - A = 2*B したがって、B = A/98 この分数を約分すると、Aは偶数なので分母が49になりますが、Aが7の倍数のときはさらに約分して分母が7になります。したがって、出発値によって 1÷7の循環小数に乗る場合と、1÷49の循環小数に乗る場合に分かれます。 2倍して3桁ずれる場合は、499が素数なので、002~498のすべての偶数から出発して 1÷499の循環小数のどこかに乗ります。 2倍して4桁、5桁ずれる場合も、4999と49999が素数なので同様です。 2倍して6桁ずれる場合は、499999 = 127 * 127 * 31 と素因数分解できるので、1÷31と1÷127でも2倍して6桁ずれます。

その他の回答 (6)

  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.7

これは数学的に証明できることなので、何兆桁まで行っても破綻しません。 もうすこし、一般的に考えてみましょう。 (1)出発値をAとします。これをn倍していきます。 A, nA, (n^2)A, (n^3)A, …  [ア] (2)各項の桁数をL桁にそろえ、L桁を超えた分は左の項に加えることにします。この「L桁を超えた分」を、s(1), s(2), ・・・ と表わすことにします。 A+s(1), nA-s(1)*(10^L)+s(2), (n^2)A-s(2)*(10^L)+s(3), (n^3)A-s(3)*(10^L)+s(4), … [イ] (3)[ア]の数列を、それぞれ10^(kL) (k=1,2,…)で割って加えた無限級数を考えます。 Y = A/(10^L) + nA/(10^(2*L)) + (n^2)A/(10^(3*L)) + … (4)[イ]の数列を、それぞれ10^(kL) (k=1,2,…)で割って加えた無限級数を考えます。 Z = (A+s(1))/(10^L) + (nA-s(1)*(10^L)+s(2))/(10^(2*L)) + ((n^2)A-s(2)*(10^L)+s(3))/(10^(3*L)) + … (5)YとZが等しいことを示します。 Z = A/(10^L) + s(1)/(10^L) + nA/(10^(2*L)) - s(1)/(10^L) + s(2)/(10^(2*L)) + (n^2)A/(10^(3*L)) - s(2)/(10^(2*L)) + … = Y つまり、「各項の桁をL桁にそろえて、L桁を超えた分を左の項に加える」操作を何度やっても、無限級数の和 Y の値は変わりません。 (6)Y を求めます。 Y = A/(10^L) + nA/(10^(2*L)) + (n^2)A/(10^(3*L)) + … Y(n/(10^L)) = nA/(10^(2*L)) + (n^2)A/(10^(3*L)) + … ゆえに Y(1 - n/(10^L)) = A/(10^L) Y = A/((1 - n/(10^L))*(10^L)) = A/(10^L - n) (7)Yは有理数なので、循環小数です。このことから、「各項の桁をL桁にそろえて、L桁を超えた分を左の項に加える」という操作を繰り返すと、必ず循環する数列になることが証明できます。 ご質問の場合では、A=14, n=2, L=2 です。 Y = 14/(10^2 - 2) = 14/98 = 1/7 ですから、求める数列は1/7の循環小数を2桁ずつに括った 14, 28, 57, 14, 28, 57, …です。

mocomil
質問者

お礼

なかなか色々と考察していただきありがとうございました。この1÷7だけでなく、色々な数字でこういった性質があるということがわかっただけで十分です。 shkwtaさんにはNo.6の回答で色々なバージョンについて考察していただいたので感謝です。

回答No.5

mocomilさんの予想を数式で表すと,右辺の循環小数0.142857142857…が 14/100+28/100^2+56/100^3+112/100^4+224/100^5+… =14/100+14*2/100^2+14*2^2/100^3+14*2^3/100^4+14*2^4/100^5+… =7*2/100+7*2^2/100^2+7*2^3/100^3+7*2^4/100^4+7*2^5/100^5+… =7*(2/100)+7*(2/100)^2+7*(2/100)^3+7*(2/100)^4+7*(2/100)^5+… =Σ[n=1,+∞]7*(2/100)^n というふうになっているということになります.これは初項14/100,公比2/100の無限等比数列の和(無限等比級数)です.この値がいくつになるのかを等比数列の和の公式に当てはめて計算すると Σ[n=1,+∞]7*(2/100)^n =(14/100)/(1-(2/100)) =14/98=1/7 となり,たしかに1/7となり予想が正しいことが証明できます.まとめると,mocomilさんの主張は 1/7=0.142857142857…=Σ[n=1,+∞]7*(2/100)^n と記述することができます. 実は,今回mocomilさんが提示された循環小数に考え方は,数列の一般項の記述と密接な関係があります.上述の主張を視点を変えて見ると,初項14,公比2の等比数列を各項生成用に1/100づつ積をとったとき,和が1/7になったと解釈することができます.つまり1/7を小数展開して小数2桁ごと(1/100ごと,ただし繰り上がりは考慮する)に分けて考えれば,初項14,公比2の等比数列が得られる.逆に言えば,初項14,公比2の等比数列は1/7と1/100という数を知っていれば,一般項を知ることができるということです.通常,数列の一般項の記述方法はa_n=…と書きますが,このような方法でも一般項を記述することができるということです.(この意味で初項14,公比2の等比数列に対して1/7を「母関数」,1/100を「生成関数」と呼ぶことできます.)別の例を挙げると 10/89=0.11235955056179775280898876404494… という一見何の変哲もない数は,1/10を生成関数(小数1桁ごとに区切る.ただし繰り上がりは考慮する)とするフィボナッチの数列(a_1=a_2=1, a_n=a_(n-1)+a_(n-2))を表しています.(この証明は高校数学の範囲で可能です) 今回,mocomilさんが提示された規則性はそれ自体非常に興味深いものだと思います.一方で,これを単純に数式で記述した場合, Σ[n=1,+∞]7*(2/100)^n=1/7 というある1つの無限等比数列の和を計算表記したものであり,これを別の見方をすれば,これはある1つの数列のみ(初項14,公比2の等比数列)を生成関数1/100で記述したものなので,これ自体が何かの定理や法則として特記されることは残念ながらないかと思います.しかしながら,こういった背景を知らないのにも関わらず,このような数や規則性の存在を見つけられるというのは,するどい着眼点ではないでしょうか.

mocomil
質問者

お礼

なるほど。sakura_214さんの証明はとてもわかりやすいです。私の忘れていた数列の記憶が少しだけ戻りました(笑)。高校数学も微妙に忘れかけている私でも理解できるよう証明してくださってありがとうございます。 私がこれを見つけたのは中学時代でしたので、証明する学力をもっておらずそのまま気にもとめないでおいたのが失敗でしたね。数列を授業で習った時期に発見していれば自分で四苦八苦してもっと考えたでしょうに。 何はともあれ、とても参考になりました。

  • leige
  • ベストアンサー率45% (11/24)
回答No.4

1/7=Σ[n=1,∞]7*2^n/10^n より 1/7=14/100+28/100^2+56/100^3+112/100^4+224/100^6+448/100^8・・・ =0.142857142857・・・・ となるのかと

mocomil
質問者

お礼

うーん、高校数学以降10年近く数学を一切やっていない私には証明式だけを提示されてももう、理解できませんね。 すいません。

回答No.3

先が気になったのでどんどんExcelで計算してみたところどうやら比較的早い段階114668、229336あたりから破綻しました。下2桁だけをとりあえず残すんですよね?そして余った分を前に繰り上げる。おそらく私の計算は規定通りに正しくやってるはずなので間違ってないと思いますが自分でも先まで試してみてください。しかし実際かなり長く法則が当てはまりますね。これには驚きました。

mocomil
質問者

お礼

私が確認したところ、いくら続けてみても破綻することはありませんでした。多分やり方が間違っているのかと思います。私の文章不足でうまく伝わらなくて申し訳ないです。一見破綻したかな?と思ってみても、計算してなかったその次の数字が繰り上がってきていたりする事がありますのでもう一度試してみてください。

  • atom40
  • ベストアンサー率23% (16/68)
回答No.2

面白いことに気がつかれましたね。 これが「法則」だとおっしゃっていますが、これは証明できていますか? 私は試みていませんが、桁数が大きくなって7桁以上になると破綻しそうな気がします。 破綻するなら、法則ではないのです。 証明を考えてみて、証明できたら「数学セミナー」という雑誌に投稿して見られたらいかがかと思います。

mocomil
質問者

お礼

さきほど試しに10桁までやってみたところなんの問題もなく出来ました。 で、10桁までやってみて思ったのですが、これはもう100桁だろうが1000桁だろうがいくらやっても破綻する気配が全くなさそうです。 さすがに私の学力では数学的証明まではちょっと出来そうにありませんが・・・。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> 「~の法則」みたいな名前とかあるのか? 「142857 法則」のキーワードで情報収集してみると面白いかも。

mocomil
質問者

お礼

お早いお返事ありがとうございます。 142857という数字には色々あるようで、 なかでも 142857×2=285714 142857×3=428571 142857×4=571428 142857×5=714285 142857×6=857142 142857×7=999999 というのが一番よく見かけました。 ですが今回私が言っているものは見つかりませんでした。

関連するQ&A

  • 小数で困っています。

    こんばんは!!norakuroと申します。 小数の質問なんですが、(ある小数に、その小数の小数点を1けた右に 移してできる小数をたすと、105.16になります。ある小数とはいくつですか。)という問題で、解き方が105.16÷(10+1)=9.56て書いてあるのですが、少数点を1けた右に移すから10倍になり、その小数×10ってなるのは解るんですが、1ってどこからでてくるのですか??自分の考えた式ですと、?+?×10=105.16と言う考えになり、ここから先に進みません。1という数字はどこからもでてこないので理解ができずにいます。誰かわかる方教えてください!!

  • Excelの小数点表示について

    Excel2002で、あるセルに数字が入力してあり、その数字に3桁区切りを付けるため、ツールバーの「桁区切りスタイル」をクリックしたところ、3桁区切りにはなったものの、小数点2桁表示にまでなってしまった。 例:「1000」と入力してあるセルに対し、「桁区切りスタイル」を選択。 ↓ 「1,000.00」と表示されてしまう。 「桁区切りスタイル」を選択しても小数点表示にならないようにするには、どのようにしたら良いか、ご教授いただけないでしょうか。 (因みに該当のファイル(シート)は、Access2002よりエクスポートしたものです。)

  • 小数の有効数字

    こんにちは。 小数の有効数字について質問があります。 先日学校の授業で、「有効数字はそろえましょう」と言いながら、先生は(0,067と0,300)と書いていました。 0,300は有効数字3桁ですよね?でも、0,067は有効数字2桁ではないのですか? 数字の前にある位取りの為の0は気にしないのではないんでしょうか?

  • 小数部を含む数字の3桁区切りで小数部を表示するには?

    小数部を含む数字を“number_format”で桁区切りすると、小数部が切り捨てられてしまいますが、小数部もそのまま表示するにはどうしたらよいでしょうか? 例えば、“123456.789”を“number_format(123456.789)”とすると、返り値は“123,456”となってしまうのを、“123,456.789”としたいのです。 御存知の方がおられましたら教えていただけますか? ちなみに、PHPは“4.4.4”で、レンタルサーバーなのでバージョンアップできません。

    • ベストアンサー
    • PHP
  • Excelで小数点も表示し、桁区切り使用したいです

    Excelで資料を作り、2500/本と先に入力し桁区切りをつけたいと思い以前質問させて頂いてなんとか関数を使用し、完成したのですが今度は2500.00/本と先に入力してあって同じように関数を使って桁区切りをしようとすると.00も数字として認識しているようで変な場所に桁区切りがついてしまいます。単位が/本のほかにも/個、/台と色々な単位があります。小数点も表示しつつ、桁区切りも3桁の場所に表示できる方法はないでしょうか。よろしくお願いします!!

  • Excelで小数点も表示し、桁区切り使用したいです

    Excelで資料を作り、2500/本と先に入力し桁区切りをつけたいと思い以前質問させて頂いてなんとか関数を使用し、完成したのですが今度は2500.00/本と先に入力してあって同じように関数を使って桁区切りをしようとすると.00も数字として認識しているようで変な場所に桁区切りがついてしまいます。単位が/本のほかにも/個、/台と色々な単位があります。小数点も表示しつつ、桁区切りも3桁の場所に表示できる方法はないでしょうか。よろしくお願いします!!

  • Excelで小数点も表示し、桁区切り使用したいです

    Excelで資料を作り、2500/本と先に入力し桁区切りをつけたいと思い以前質問させて頂いてなんとか関数を使用し、完成したのですが今度は2500.00/本と先に入力してあって同じように関数を使って桁区切りをしようとすると.00も数字として認識しているようで変な場所に桁区切りがついてしまいます。単位が/本のほかにも/個、/台と色々な単位があります。小数点も表示しつつ、桁区切りも3桁の場所に表示できる方法はないでしょうか。よろしくお願いします!!

  • Excelで小数点を表示しつつ、桁区切りもつけたい。

    Excelで資料を作り、2500/本と先に入力し桁区切りをつけたいと思い以前質問させて頂いてなんとか関数を使用し、完成したのですが今度は2500.00/本と先に入力してあって同じように関数を使って桁区切りをしようとすると.00も数字として認識しているようで変な場所に桁区切りがついてしまいます。単位が/本のほかにも/個、/台と色々な単位があります。小数点も表示しつつ、桁区切りも3桁の場所に表示できる方法はないでしょうか。よろしくお願いします! 以前、投稿しましたが間違って削除してしまったのでもう一度投稿させて頂きました。

  • 小数と2進法

    何進法の表記かわからないので、質問します。 問題は、 0<α<1となる数αに対し、2^(n-1)αの小数部分は、(*){nが奇数のときは、1/2以上、nが偶数のときは、1/2未満}を満たすという。(ただし、n=1,2,3・・・)二進法の考えを用いて、αの値を求めよ。 解答は、 与えられた条件(*)は、αを二進小数で表したときの小数第n位が{nが奇数のときは、1、nが偶数のときは、0}であることをを意味する。したがってαの二進小数表示は、α=0.101010・・・(1)という循環小数である。周期が2桁であるので、αを2^2=4倍し4αは、二進法で 10.101010・・・(2)と表されることから、(2)-(1)であるαの3倍は、二進法で10と表される。すなわち十進法の2である。ゆえに 3α=2 より α=2/3 この問題でα=0.a_1a_2a_3a_4・・・a_n・・・と表される小数は、10進法に限られるのか?三進法や八進法でよいのか?が疑問です。αは十進法であらわされるとは問題に書かれていないので、迷いました。 10進法の小数に2をかけると、その整数部分が二進法の小数第一位になるということなので、αは十進法の小数かと思いましたが、はっきりしません。どなたかαは十進法の表記なのか、その他の底の表記でもよいのか教えてくださいお願いします。

  • ユーザ定義のセル書式の作成について質問

    質問1:♯,♯♯♯.♯のユーザ定義を12345のデータに適応すると1,234.5になりますが、♯,♯.♯のユーザ定義でも1,234.5になります。 これは何故でしょうか? その理由は、千単位単位の区切りに利用されるので、小数点前の♯が2ケタと実際に適応するデータより少なくても、千単位で区切られるということでしょうか? 質問2:♯の後ろに小数点がある場合、その前の♯は1の位として認識されますか? 認識される理由は、小数点があるということは、その前の位は1の位だから、その♯は1の位として認識されるということでしょうか? 質問3:♯の数は桁数に対応してますよね?♯♯♯♯なら、たとえば実際のデータでは1234といった4ケタを表す、ということですよね?