• ベストアンサー

素因数分解した表

手で計算できないこともない、とは思いますが、2から10,000位までの自然数の素因数分解表を作りたい、または探しています。 使えるソフトは、excelだけですが、何かいい方法はないでしょうか。 単純に  2  2 3 3 4 2 2 5 5 6 2 3 ・ ・ ・ のような表でいいのですが…。 何かいい方法がありましたらお願いします。

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

  • ベストアンサー
  • shuu_01
  • ベストアンサー率55% (759/1365)
回答No.9

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組です (↑僕の計算ではですけど)

noname#233222
質問者

お礼

早々にありがとうございます。 すごいエクセルの使い手ですね!!

その他の回答 (10)

  • shuu_01
  • ベストアンサー率55% (759/1365)
回答No.11

> 早々にありがとうございます。 > すごいエクセルの使い手ですね!! そんなにすごい使い手ではないのですが、 目的はなんなの? なんで 10000 まで必要なの?

noname#233222
質問者

お礼

今年は2014年ですが、2013=3*11*61 2015=5*13*31 で前後の数は3つの掛け算になっています。素因数分解した表で眺めてみると、なかなか見つからずひょっとしてすごい数字なのかも、と思った次第ですが、10000までにでも175組もあればそれほど珍しい数字ではないみたいです・・・。

noname#227064
noname#227064
回答No.10

すみません。 #7ですが、一部の素数でしか調べてなかったというポカをしてましたので、個数は無視してください。 > 目の子で見つけるのは大変そうです・・・。 条件を満たしているかどうかを識別する列を設けて、ソートするだけですので大変ではありません。

noname#233222
質問者

お礼

追加の書き込みありがとうございます 実験でいろいろ見つかったのですが、次は理論的に見つけることはできるでしょうか?  

noname#227064
noname#227064
回答No.8

#7です。 ひょっとして、 > 3つ以上の奇素数の積でかけて(3^2×5×7など、n乗を含んでもいい) というのは3^3とかも含みますか? そうであれば、#7の方法では全てのペアを見つけられませんのでご注意ください。

noname#227064
noname#227064
回答No.7

9061 = 13・17・41 9063 = 3^2・19・53 9065 = 5・7^2・37 なんていうのもありますね。 これを一組とすれば全部で83組あるようですね。 ペアだけを見つけるだけなら、Excelのワークシート関数だけでも難しくはありません。 例えば、縦に10000までの数字を並べ、横に素数を並べてそれで割り切れるかどうかを調べ、割り切れた素数の数が3以上のものを調べればいい。 (ペアを見つけたら、他の方が書かれている方法で素因数分解)

noname#233222
質問者

お礼

そんなにあるんですか。目の子で見つけるのは大変そうです・・・。

  • ramayana
  • ベストアンサー率75% (215/285)
回答No.6

素因数分解の実用的なアルゴリズムとして、「ρ法」というのがあります。小さい数から順番に割り切れるか確かめていく方法に比べて、桁違いに速いですから、試してみてはいかがでしょうか。5 桁程度の数字なら、Excelのマクロでも楽勝です。ネットで検索すればやり方が出ています。

noname#233222
質問者

お礼

書き込みありがとうございます。

  • ma310ma10
  • ベストアンサー率51% (51/100)
回答No.5

お礼の方に書かれた質問を見まして、 少し調べたのですがすみません、 私はこれ以上お力になれません。 的確な回答をしてくださる他回答者様が 現れることを願っております。

  • shuu_01
  • ベストアンサー率55% (759/1365)
回答No.4

> 実は、3つ以上の奇素数の積でかけて(3^2×5×7など、 > n乗を含んでもいい)差が2のペアを探しています。 LouisCarroll さんの質問を読んで、 LouisCarroll さんの質問とは話がずれちゃうのですが、 Excel を使い、2 から 10000 の範囲を エラトステネスの篩 にかけ、素数を選び出してみました その後、どう素因数分解していいのか、途方にくれています ただ、今回 LouisCarroll さんが差がしているような数なら Excel で求められそうなのですが、10000 となると、メモリー 不足で時々 Warning が出て、さきほどファイルをセーブ中に ハングアップしちゃいました ごめんなさい

回答No.3

http://www016.upp.so-net.ne.jp/cheetah/xlvba/Excel/Misc/index.html に Excel VBAで素因数分解するコードがあります。このコードを 標準モジュールに貼り付けて、イミディエイトウィンドウから実行すれば 素因数分解の表が出来ます。Excel VBA なので処理に少々時間がかかります。

参考URL:
http://www016.upp.so-net.ne.jp/cheetah/xlvba/Excel/Misc/index.html
noname#233222
質問者

お礼

回答ありがとうございます。

  • ma310ma10
  • ベストアンサー率51% (51/100)
回答No.2

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/

noname#233222
質問者

お礼

早々にありがとうございます。 実は、3つ以上の奇素数の積でかけて(3^2×5×7など、n乗を含んでもいい)差が2のペアを探しています。 (1885,1887)というのを見つけたのですが、、それ以外にないか、というのが課題です。頂いた表で順番に見ていますが、何かいい方法ないでしょうか。

  • lx002PH
  • ベストアンサー率62% (10/16)
回答No.1

探しているというならこんなのがあります。 http://cute.sh/solairo/a/index.html

noname#233222
質問者

お礼

早々にありがとうございます。 実は、3つ以上の奇素数の積でかけて(3^2×5×7など、n乗を含んでもいい)差が2のペアを探しています。 (1885,1887)というのを見つけたのですが、、それ以外にないか、というのが課題です。頂いた表で順番に見ていますが、何かいい方法ないでしょうか。