• ベストアンサー

循環小数の問題(代数)

以下の循環小数の問題がわからなくて困っています。 わかる方、どのように解いたらよいかご指南お願いします。 【問題】 p:1/pであらわされる循環小数の節のうち、 (1) 7桁の長さの節を持つpを全部求めよ。 (2) 8桁の長さの節を持つpを全部求めよ。 【自分の解き方(途中)】 pが素数のとき、1/pを循環小数で表したときに, 循環節の長さrは、p≡1(mod r)であること、 循環節の長さrが偶数の場合は、p=r+1で示せるという点までは わかったのですが、どうすれば、全てのpを導くことが できるのかで詰まっています。 範囲が有限であれば、電卓で総当たりで割り算をすれば 求めそうな気がするのですが、どうやったら計算で うまく求めることができるのでしょうか? ご指南のほど、よろしくお願いします。

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.7

まず, 「1/p の循環節の長さが (最短という意味ではなく) r」という条件だと, 既にあるように p は 10^r-1 の約数となります. ところが, この中には「循環節の長さが r より短い」ものも含まれます. 従って, 今の設問ではそのようなものを除く必要があります. で問題は「除外すべきものをどのように見付けるか」というところに移るのですが, 実は (というほどではありませんが)「今考えた p に対し, 1/p の (最短という意味での) 循環節の長さ」は r の約数です. なので, 全ての p の候補に対し循環節の長さが r の (r 以外の) 約数になっていないかどうかを調べる必要があります. ここが (1) と (2) の違うところで, (1) の方は r=7 が素数なので, 「循環節の長さが 1 でない候補を取れば, その循環節の長さは必ず 7」ということができます. 循環節の長さが 1 になるのは 3 と 9 だけ (あとは割り切れてしまう 1, 2, 5) なので, これらを除けば全て求める p となります. 一方, (2) では r=8=2^3 ですから, 見付けた候補の「循環節の長さ」は 1, 2, 4, 8 の 4通りが考えられます. 但し, ここでも上と同じ理由で「4」だけを考えればいいということはできます. つまり, 求めるべき値は 「9999 9999 の約数で 9999 の約数でないもの」となると思います. #1 の計算を使わせてもらうと, 「73 か 137 を必ず含む」というのが条件につきますから... 36通りかな? こう考えると 8 は簡単な数字です. 6 とか 10 とかは面倒な気がする. ちなみに p の候補は有限個しかありません (10^8 より大きかったら, 循環小数になる場合の循環節は必ず 9桁以上になる) が, 多分「電卓で総当たりで割り算」を止めて正解だと思われます.

niinii22
質問者

お礼

ありがとうございます。求めていた解き方そのものを 教えていただき大変ありがとうございました。 システム上、ポイントを全員につけることができないのが残念ですが、 できることなら全員に20点つけたいです。 Tacosan様をはじめとして、回答いただいた皆様、 本当にありがとうございました。

その他の回答 (6)

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.6

>1/pであらわされる循環小数の節のうち、 >(1) 7桁の長さの節を持つpを全部求めよ。 循環節が7桁になる循環小数は、分数にすると    q ----- 9999999    q ---- 99999990    q ------ 999999900 (以下、無限にあるが略) となる。 このうち、分母が10のn乗(nは1以上の自然数)の倍数になっている物は(言いかえれば、下の桁に0がn桁付く物は)、小数部の先頭に循環しない部分がn桁付く。 分母は「延々、無限に10倍していける」ので「小数部の先頭に循環しない部分が付く物を含めると、pの個数は無限個」になります。 これでは問題にならないので「小数部の先頭に循環しない部分が付かない物のみ」で考える事とします。 すると、問題は「 q ----- 9999999 の分数を通分してqが1になるqで、qが1111111の倍数でない物のqの個数は何個か」と言う事になります。 (9999999分の1111111は0.1111…、9999999分の3333333は0.3333…、9999999分の9999999は1になるので、除外しなければならない) 「分数を通分してqが1になる」とは「9999999がqで割り切れる」つまり「qが9999999の素因数か、幾つかの素因数を掛け合わせた物」であれば良い訳です。 9999999を素因数分解すると「3×3×239×4649」になります。 この4つの数を掛け算の組み合わせで出来る数は11個で、1111111、3333333、9999999を除くと、8個になります。 この他にq=1も含めると、8+1=9個になります。 従ってpの個数は9個です。

niinii22
質問者

お礼

大変丁寧な回答ありがとうございます。 私のような素人にも大変よくわかりました。 8桁の場合も、同じような考えかたで、因数分解して、すべての組み合わせを考えればいいということでしょうか? 重ね質問になり申し訳ありませんが、ご鞭撻のほど、よろしくお願いします。

回答No.5

#4何か俺勘違いしているっぽい、引き下がる。 >先頭に max(m, n) 桁の循環しない部分をもち, そこからは r桁の循環節をもつ混合循環小数 >1/(2^m 5^n N) この組み合わせ以外に存在しない事を検証しようとして失敗している

niinii22
質問者

お礼

わざわざ検証していただき、ありがとうございます。 もし、いい方法がわかればご指示いただければ幸いです。 お世話になりました。

回答No.4

メモ: p桁循環せず,r桁の循環節が続く式は x/10^p + 1/(N*10^(p+1)) 10Nx + 1 =--------------  (N*10^(p+1)) と書ける。 これが自然数Mを用いて1/Mという形でかけるには 10Nx + 1がNの約数と10の約数の積でなければならないが, 代入して成り立つxは0のみである。 1/Nと同じ循環節を持つ,小数は自然数kを用いて1/N・10^k倍のみである…という話か。 #素因数分解の話は解決しません。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

純循環小数があれば, 混合循環小数は簡単に求まります>#2. つまり, 1/N が r桁の循環節をもつ純循環小数であるとすると, 1/(2^m 5^n N) は「先頭に max(m, n) 桁の循環しない部分をもち, そこからは r桁の循環節をもつ混合循環小数」になります. えぇと, どこにも書かれてないですが「小数は 10進数で表記する」という前提, かな? あと, 普通「循環節の長さ」といったら最小をとるような気がするので「1/9 の循環節の長さ」は 1 とするような気がするんだけどそこは OK?

niinii22
質問者

お礼

返信が遅くなり、すいません。 言葉足らずでした。 条件は、おっしゃる条件でOKです。まとめると以下のようになります。 「小数第一位が循環説の始まりとなる場合のみ。  小数は 10進数で表記する。  1/9 の循環節の長さは最小となるので、1となる。」 実際のpの個数ではなく、pの値そのものを どうすれば調べることができるのかを知りたいのです。 電卓を使って素数を調べるにしても、あまりにも膨大なので どうしたものかと思案に暮れていました。

回答No.2

素因数分解するしかないかどうかはわかりません 前回の回答してから回答の問題に気づきました。 0.305305…のように必ず,小数第一位が循環説の始まりとなる仮定をしているが, 1/N = 0.35127127127…というように,途中から循環節なるような,自然数Nが存在するかどうかの検討をしてない

niinii22
質問者

お礼

返信が遅くなり、すいません。 言葉足らずでした。小数第一位が循環説の始まりとなる場合のみです。 また、実際のpの個数ではなく、pの値そのものを調べたいのです。

回答No.1

僕はあまり数学が得意ではない。 いきなり法を無視するけど, 例えば, a = 0.12121212・・・ というような循環節の長さ2の数だったら 10^2 * a = 12.12121212 で 10^2 * a - a = 99a = 12 って感じで99aは整数になるよね? (10^2 - 1)a = (整数) となるような0 < a < 1で,分子1なら分母は10^2-1の約数でないと成り立たないんじゃない? #0.111111・・・ってのが循環節の長さ1にも2にも含まれるのか分からないけど。含まれない場合は (A AND NOT(B)) = A - (A AND B)でも使って除きます。 7桁のときは 10^7-1の約数を求めればいいことになるけど,9は約数だとして 1111111の約数を求めなきゃならん 総当り以外の素因数分解の手軽なやり方を知らないので,素因数分解してくれるサイトで素因数分解してみた。√11111111 = 1054くらい 1053回も計算するのはいやなので。 (つーか、暗号理論で簡単には出来ないってことになってなかったっけ?) 10^7 - 1 = 9 * 239 * 4649 らしいので 組み合わせを求める(2*2*2で8通り。面倒くさいので計算省略) 10^8-1 = 9 * 11 * 73 * 101 * 137 以上(2*2*2*2*2 = 32通り。計算省略) もし,節の長さ2は節の長さ1を含まないなら 個数を減らし, 節の長さ3を求めるときには 同じようにやってから節の長さ2と節の長さ1を引いて・・・って順番にやれば求まるんじゃないだろうか ===================

niinii22
質問者

お礼

早速の解答、ありがとうございます。 ご指導により、7桁の循環節は7通り、8桁の循環節は32通りあることがわかりました。 実際のpすべてをもめるには、素数の組み合わせを実際にすべて電卓で計算するしかないのでしょうか?

関連するQ&A

専門家に質問してみよう