- ベストアンサー
素因数分解した表
手で計算できないこともない、とは思いますが、2から10,000位までの自然数の素因数分解表を作りたい、または探しています。 使えるソフトは、excelだけですが、何かいい方法はないでしょうか。 単純に 2 2 3 3 4 2 2 5 5 6 2 3 ・ ・ ・ のような表でいいのですが…。 何かいい方法がありましたらお願いします。
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
10000までの素数を求めるのと、因数分解を1つの表でやったら、大きすぎてファイル保存中にハングアップしちゃったので、別々のファイルで再トライしました 質問者さんの > 3つ以上の奇素数の積でかけて(3^2×5×7など、n乗を含んでもいい) > 差が2のペアを探しています。 質問者さんの(1885,1887) No.7 さんの | 9061 = 13・17・41 | 9063 = 3^2・19・53 | 9065 = 5・7^2・37 | なんていうのもありますね。 | これを一組とすれば全部で83組あるようですね。 小さい順から列挙すると (663,665) (1309,1311) (1545,1547) (1615,1617) 質問者さんの(1885,1887) (1953,1955) (2013,2015) 中略 (9877,9879) (9889,9891) と10000 までだと 合計 175組 ありました No.7 さんの 3つの数字だと、 (5421,5423,5425) を筆頭に、10組です (↑僕の計算ではですけど)
その他の回答 (10)
- shuu_01
- ベストアンサー率55% (759/1365)
> 早々にありがとうございます。 > すごいエクセルの使い手ですね!! そんなにすごい使い手ではないのですが、 目的はなんなの? なんで 10000 まで必要なの?
お礼
今年は2014年ですが、2013=3*11*61 2015=5*13*31 で前後の数は3つの掛け算になっています。素因数分解した表で眺めてみると、なかなか見つからずひょっとしてすごい数字なのかも、と思った次第ですが、10000までにでも175組もあればそれほど珍しい数字ではないみたいです・・・。
すみません。 #7ですが、一部の素数でしか調べてなかったというポカをしてましたので、個数は無視してください。 > 目の子で見つけるのは大変そうです・・・。 条件を満たしているかどうかを識別する列を設けて、ソートするだけですので大変ではありません。
お礼
追加の書き込みありがとうございます 実験でいろいろ見つかったのですが、次は理論的に見つけることはできるでしょうか?
#7です。 ひょっとして、 > 3つ以上の奇素数の積でかけて(3^2×5×7など、n乗を含んでもいい) というのは3^3とかも含みますか? そうであれば、#7の方法では全てのペアを見つけられませんのでご注意ください。
9061 = 13・17・41 9063 = 3^2・19・53 9065 = 5・7^2・37 なんていうのもありますね。 これを一組とすれば全部で83組あるようですね。 ペアだけを見つけるだけなら、Excelのワークシート関数だけでも難しくはありません。 例えば、縦に10000までの数字を並べ、横に素数を並べてそれで割り切れるかどうかを調べ、割り切れた素数の数が3以上のものを調べればいい。 (ペアを見つけたら、他の方が書かれている方法で素因数分解)
お礼
そんなにあるんですか。目の子で見つけるのは大変そうです・・・。
- ramayana
- ベストアンサー率75% (215/285)
素因数分解の実用的なアルゴリズムとして、「ρ法」というのがあります。小さい数から順番に割り切れるか確かめていく方法に比べて、桁違いに速いですから、試してみてはいかがでしょうか。5 桁程度の数字なら、Excelのマクロでも楽勝です。ネットで検索すればやり方が出ています。
お礼
書き込みありがとうございます。
- ma310ma10
- ベストアンサー率51% (51/100)
お礼の方に書かれた質問を見まして、 少し調べたのですがすみません、 私はこれ以上お力になれません。 的確な回答をしてくださる他回答者様が 現れることを願っております。
- shuu_01
- ベストアンサー率55% (759/1365)
> 実は、3つ以上の奇素数の積でかけて(3^2×5×7など、 > n乗を含んでもいい)差が2のペアを探しています。 LouisCarroll さんの質問を読んで、 LouisCarroll さんの質問とは話がずれちゃうのですが、 Excel を使い、2 から 10000 の範囲を エラトステネスの篩 にかけ、素数を選び出してみました その後、どう素因数分解していいのか、途方にくれています ただ、今回 LouisCarroll さんが差がしているような数なら Excel で求められそうなのですが、10000 となると、メモリー 不足で時々 Warning が出て、さきほどファイルをセーブ中に ハングアップしちゃいました ごめんなさい
- kotaro2014
- ベストアンサー率42% (3/7)
http://www016.upp.so-net.ne.jp/cheetah/xlvba/Excel/Misc/index.html に Excel VBAで素因数分解するコードがあります。このコードを 標準モジュールに貼り付けて、イミディエイトウィンドウから実行すれば 素因数分解の表が出来ます。Excel VBA なので処理に少々時間がかかります。
お礼
回答ありがとうございます。
- ma310ma10
- ベストアンサー率51% (51/100)
NO1さんが載せてくれていますので 私はそれ以外で。 PDFファイルになってしまいますが。 http://www-cc.gakushuin.ac.jp/~851051/2012pdf/2012okuyama.pdf http://cute.sh/solairo/a/01.html 後、おもしろいのは http://www.datapointed.net/visualizations/math/factorization/animated-diagrams/
お礼
早々にありがとうございます。 実は、3つ以上の奇素数の積でかけて(3^2×5×7など、n乗を含んでもいい)差が2のペアを探しています。 (1885,1887)というのを見つけたのですが、、それ以外にないか、というのが課題です。頂いた表で順番に見ていますが、何かいい方法ないでしょうか。
- lx002PH
- ベストアンサー率62% (10/16)
探しているというならこんなのがあります。 http://cute.sh/solairo/a/index.html
お礼
早々にありがとうございます。 実は、3つ以上の奇素数の積でかけて(3^2×5×7など、n乗を含んでもいい)差が2のペアを探しています。 (1885,1887)というのを見つけたのですが、、それ以外にないか、というのが課題です。頂いた表で順番に見ていますが、何かいい方法ないでしょうか。
お礼
早々にありがとうございます。 すごいエクセルの使い手ですね!!