• ベストアンサー

素数かどうかを知るには(手順)

ある数、とくに何桁もの数が素数かどうかを知るにはどんな手順がありますか? 私は(1)その数が10の倍数かどうか(2)2の倍数かどうか(3)9の倍数かどうか しかわかりません。 (3)は、各桁の番号を足してそれが9の倍数なら9で割り切れるということです。 他の有効な手順があれば教えてください。

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

  • ベストアンサー
  • chiropy
  • ベストアンサー率31% (77/244)
回答No.10

一応素数を求める(かどうか判断する)式?は存在するそうです。何かの本で読みました。ただ例えば1000までの素数を書き出すのに自分の手を動かせば数時間もあればできるでしょう。しかしこの式を使うとコンピュータでやっても何日もかかるそうです。つまり式は存在するが実用的ではないのです。 でご質問の答えですが「エラトステレスの篩」を利用するのが適当ではないでしょうか?これは『ある数nが素数かどうか判断するとき√n以下の素数でnを割ったとき割り切れるものがなければそのnは素数である。』と判断できる方法です。 例えば953が素数かどうかを判断するなら√953=30.087…ですから 2,3,5,7,11,13,17,19,23,29の10個の数で割ってやるだけで判断できます。

その他の回答 (9)

  • sak_sak
  • ベストアンサー率20% (112/548)
回答No.9

#6さんの言われている「その数の1/2以下の整数」は 「√(その数)以下の自然数」の誤りだと思います。 もちろん1で割っても仕方がないですが。 個人的に素数かどうか判別したいなら mathematicaやmaximaなどのソフトを使う方法もあります。

  • moritan2
  • ベストアンサー率25% (168/670)
回答No.8

公開鍵暗号につかうような100桁以上の数字が素数かどうか判定するには、アドレマン-ルメリーのアルゴリズムを用います、これで百数十桁の整数なら数秒で素数かどうか判定できます。[アドレマン 素数]でgoogleで検索すればたくさん引っかかるでしょう。

  • kumoringo
  • ベストアンサー率31% (13/41)
回答No.7

参考URLをどうぞ。ウィキペディアの「素数判定」の項目です。

参考URL:
http://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0%E5%88%A4%E5%AE%9A
  • Willyt
  • ベストアンサー率25% (2858/11131)
回答No.6

その数の1/2以下の整数で片端から割って見るよりないですね。

回答No.5

ある数が、素数であるかどうかの判定方法は、存在しません。 質問者の方が仰られるように、10の倍数や9の倍数、偶数かどうか などは、すぐ判定は出来るのですが、素数に関しては未だ存在していないのです。 素数かどうか判定できる公式を発見できれば、数学界のノーベル賞とも言われるフィールズ賞間違いなし、ですね。 ちなみに、つい最近、アメリカの研究者により最大の素数が発見されたようです。 下記のURLをご覧ください。

参考URL:
http://news.livedoor.com/webapp/journal/cid__1605645/detail
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.4

エラストテネスのふるいという方法ですと、 数字の表を用意します。 2の倍数は素数である事が分かっているので、01~2飛ばしです。 1は素数なので、--を付けときます。 -- 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 表で塗りつぶされていない一番若い03が素数です。 03の倍数を--で塗りつぶします。 -- -- 05 07 -- 11 13 -- 17 19 -- 23 25 -- 29 31 -- 35 37 -- 41 43 -- 47 49 -- 53 55 -- 59 61 -- 65 67 -- 71 73 -- 77 79 -- 83 85 -- 89 91 -- 95 97 -- 表で塗りつぶされていない一番若い05が素数です。 05の倍数を--で塗りつぶします。 -- -- -- 07 -- 11 13 -- 17 19 -- 23 -- -- 29 31 -- 35 37 -- 41 43 -- 47 49 -- 53 -- -- 59 61 -- -- 67 -- 71 73 -- 77 79 -- 83 -- -- 89 91 -- -- 97 -- 表で塗りつぶされていない一番若い07が素数です。 07の倍数を--で塗りつぶします。 -- -- -- -- -- 11 13 -- 17 19 -- 23 -- -- 29 31 -- -- 37 -- 41 43 -- 47 -- -- 53 -- -- 59 61 -- -- 67 -- 71 73 -- -- 79 -- 83 -- -- 89 -- -- -- 97 -- 同様に、11が素数、13が素数と、表を塗りつぶす事で、表の中に含まれる素数が分かります。 求める数字が素数かどうかは、その数字までの表が必要になります。 コンピュータでやるのなら、2~その数(の平方根)までで片っ端から割り算して、割り切れる数があるかどうかを調べるだけですが…。

回答No.3

他には(1)の延長として(4)、(3)の延長として(5)があります。他には11や1001を疑ってみることくらいでしょうか。問題演習の場面では、11で割り切れる場合って意外と多いですよ。 他の方が回答されていてるように、その数の平方根まで(例えばその数が100ならばルート100、つまり10まで。その数が400ならばルート400、つまり20まで)疑ってみる必要があります。 (4)一の位が5であれば5の倍数である (5)各桁の番号を足してそれが3の倍数なら3で割り切れる 少し手間がかかりますが、数学的に立証された本格的な見つけ方としては「エラストテネスのふるい」が有名です。これに関する詳しい説明については、参考サイトをご覧下さい。

参考URL:
http://macky0625.hp.infoseek.co.jp/sosuu.htm
回答No.2

そうやっていくしかないよ。 2で割って、3で割って…と素数で割っていくしか確かめる方法がない。(その数のルートまでね。それを超えたら相手がいるはずだから。)

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

ある数が偶数の場合、素数ではないのが自明なので除外して、3から順に奇数で割っていくしかない。 この時、明らかに無駄と思える数で割るのは除外する。例えば9とか15とか。3や5で割り切れないと判明した時点で9とか15とかでは割り切れないのは明らか。 割る数を大きくして行き、それが「ある数」の平方根を超えたら、素数であると言える。

関連するQ&A

  • 次の3条件にあう整数のうち、いちばん小さい数と、いちばん大きい数を求めなさい。がわかりません。

    次の3つの条件にあう整数のうち、いちばん小さい数と、いちばん大きい数を求めなさい (1) 3桁の数である (2) 16の倍数である (3) 24の倍数である 答え144 960 解き方 16と24の最小公倍数48 100÷48=2あまり4 1000÷48=20あまり40 48×3=144、48×20=960 最小公倍数の求めかたはわかりますが、なぜ100を48で割るのですか?またどうして48と3をかけるのですか? 1000÷48も、48かける20も意味がわかりません。 お願いします。m(__)m

  • 3けたの自然数があり、この数の百、十、一の位の数の和が、3の倍数になる

    3けたの自然数があり、この数の百、十、一の位の数の和が、3の倍数になるとき、もとの3けたの数は、3の倍数である。このわけを文字を使って説明しなさい。という問題なのですが、どう解けば良いのでしょうか?中学2年の数学の問題なのですが・・・

  • 任意の三桁の自然数を2つ並べると

    任意の三桁の自然数 これを2つ並べてできた6桁の自然数は、必ず7の倍数になります 例えば、523523、198198、851851等々は、7の倍数です とはいえ、1万通り全てが7の倍数になるのかどうかは、実際に計算して確かめてはいません でも、たぶん全て7の倍数かなと思います 全てを計算しないで、全てが7の倍数であることを証明するには、どうすればいいのでしょう?

  • ちょっと数についての疑問♪

    あのですね、4桁以上の整数を割る時って大変ですよねぇ・・・(-。-;) でも、「3」で割る時っていうのは、桁の数を足して3の倍数になれば割れるというのがわかるじゃないですか!それと同様に、「4」や「6」や「7」や「8」や「9」っていうのはどうなんですかね?そんな都合のいいのは無いんですかね?せめて、素数の「7」だけも・・・。よろしくお願いします♪また、このような「数に関する面白い法則」などを知っている方がいましたら、是非、伝授していただきたいと思います♪

  • 2進数において、3の倍数になる規則は?

    10進数では全ての桁の和が3の倍数になればいい では2進数において3の倍数になる規則はなんでしょうか。 逆に3進数において2の倍数になる規則はなんでしょうか。 後者は1の個数が偶数。 でいいですか? 前者についてはなかなか手法がみつかりません。。

  • 二つの平方数の和について少し

    質問させていただきます。 平方数と平方数を足すと、ある数になります。 例えば、3の平方と4の平方で25になります。 25は、他の平方の和になることはありません。 ここでは、0は無視します。 そうして、複数の平方の和に分解される最小の数は 50であることがわかります。 1の平方と7の平方、5の平方と5の平方。 その次は、65です。 その次は、85です。 その次は、125です。 このように、5の倍数が続きます。 しかし、221は5の倍数ではないですが、 5の平方と14の平方、10の平方と11の平方。 それでも、5の倍数が85%にまで及びます。 まだ計算が足りないのかもしれません。 20×20程度しか計算していません。 平方数の和に関して考えると、 平方数は、一ケタ目は、1、4、9、6、5、6、9、4、0となり、 その和を計算すると、 5の倍数つまり、1ケタ目が0か5になるのは、35%くらいになります。 円周率をランダムと考えて、0~4(40%)を一つの数エックスとしてみました。 35%に近づけるためです。 そして、複数の平方数の和になる場合を考えました。 しかしエックスは85%には遠く及ばず、 50%くらいで終わりました。 何か規則性のようなものが隠れていると思います。 でも、単なる偶然かもしれません。 参考図書などあれば、よろしくお願いします。

  • 2桁の自然数はいくつあるか

    ■6で割ると5余り、8で割ると7余るような2桁の自然数はいくつあるか。■という問題について悩んでいます。 解説によると、 6で割ると5余る数は6a+5、8で割ると7余る数は8b+7で表される(a,bは自然数)。 この2つの条件を満たす2桁の自然数Nは、 N=6a+5=8b+7≦99…(1) (1)の辺々に1を加えると、 N+1=6a+6=8b+8 =6(a+1)=8(b+a)≦100 よって、N+1は、6と8の最小公倍数24の倍数である。 100以下の自然数で、24の倍数であるのは、24、48、72、96であるから、Nは23、47、71、95の4個である。 とのことなのですが、何故(1)の辺々に1を加えたのかが分かりません。 どなたかご教授お願いします。

  • 数学の法則

    と大きな題をつけましたが、中学レベルの話でお願いします。 数学の問題集をして、どうしてもわからない問題は答えを見るんですが、解き方が記されてある部分に学校では習っていない数の法則?みたいなのがたくさんありました。 たとえば『4の倍数である4桁の数は、下二桁が4の倍数である。また、9の倍数である4桁の数は、その四桁の数をすべて足すと9の倍数になる。』というものです。 ここで浮かんできた疑問ですが、ほかの数ではどうなんですか?また、ほかの桁数ではどうなるんでしょうか? ほかにも倍数や約数、公倍数や公約数、その他いろいろ役に立つ数学の法則を知っている方、その法則を教えていただけないでしょうか。 よろしくお願いします。

  • 数A;場合の数(順列)

    (1)0,1,2,3,4,5の6個の数字から異なる4個の数字をとって並べて、4桁の数字を作るものとする。 3の倍数は何通りできるか。 □、□、□、□を左から順に、千、百、十、一の位とします。 整数であるから千の位には”0”はなし。 3の倍数であるから”各位の和が3の倍数である”ので実際に書き出すと↓ 和が3の倍数になる4数の組は(0,1,2,3)(0,1,3,5)(0,2,3,4)(0,3,4,5)です。 ここまでわかるのですが、ここからどうすればいいのかわかりません。 場合の数は最近一から始めたのでまだまだ分からないところばかりなので、詳しく解説お願いします。 (2)1から5までの番号が付いた箱がある。次のような玉の入れ方はそれぞれ何通りあるか。 (1)それぞれの箱に、赤か白の玉のうちいずれか1個をいれて、赤玉も白玉もどれかの箱に入るようにする。 (2)それぞれの箱に、赤、白、青の玉のうち、どれか1個を入れて、どの色の玉も必ずどれかの箱に入るようにする。 何にもわかりません、詳しく解説お願いします。

  • ある2ケタの自然数がある・・・

    ある2ケタの自然数がある。十の位の数字と一の位の数字を入れかえた数を作り、もとの数を足すと、11の倍数になることを説明しなさい。 これの解答の仕方がわかりません。教えて頂けませんか?お願いします。