重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

高1です。
素数が何%くらいあるかを調べてみようと思い、次のようなBasicプログラムを作りました。

--------------------------------------------------------

100 cls:count=1:print 2;" ";100;"%";" ";count
110 for i=3 to 10000000
120 n=i
130 if (n - int(n/2)*2) = 0 then goto 220
140 for j = 3 to sqr(n) step 2
150 if (n - j * int(n/j) ) = 0 then goto 220
160 end if
170 next j
180 count=count + 1
190 p = count*100 / (n - 1)
200 percent = (int(p * 10))/10
210 print n;" ";percent;" ";"%";" ";count
220 next i
230 end

--------------------------------------------------------
【各行の意味】

100  2は素数
110  3から一千万まで調べる
130  偶数は除外
140~ 素数判定(自然数nが√n以下のすべての数で割りきれなければ、nは素数である、を利用)
180  素数の個数をカウントする
190~ 素数が何%あるかを少数第一位まで求める。少数第二位以下は切り捨て。
210  素数、%、素数の個数 を表示

--------------------------------------------------------
【結果】

千までに素数は168個、16.8%
一万までに素数は1229個、12.3%
十万までに素数は9592個、9.5%
百万までに素数は78498個、7.8%
一千万までに素数は664579個、6.6%

--------------------------------------------------------

そこで質問ですが、

1.素数の割合は収束する傾向にあると言えるでしょうか?
2.プログラムに間違いがありましたら、教えていただけないでしょうか。
3.素数の割合に関するわかりやすい本(高校生でも理解できるようなもの)などがありましたら、教えていただけないでしょうか。

ちなみに、これは学校の宿題や課題ではありません。純粋に個人的な興味で調べたものですが、何か結論みたいなものが導けたら来年の自由研究に出してみたいと思っています。

使用機種:Mac
使用ソフト:chipmunk basic(フリーソフト)
機種が非力なので1億や10億といった計算はやっていません。

A 回答 (5件)

>2.プログラムに間違いがありましたら、教えていただけないでしょうか。


プログラムに間違いは無さそうです。

>1.素数の割合は収束する傾向にあると言えるでしょうか?
これを探ることが自由研究のテーマとなるかどうかですね。

キーワードは、「素数定理」の「コンピュータ」による「数値解析」になりますが、

・コンピュータには扱える数に上限がある
 今回は、110 for i=3 to 10000000 の 10000000 です。おそらく21億くらいで上限になると思います。
・上限があるということはその数に対して収束する
ということを抑えてください。

無限大まで考えるためには、数学IIにはlim(極限)という考えがあり、この問題を解決するにはlimが必要です。

1)この問題を取っ掛かりとして素数定理の歴史を調べる。
2)コンピュータでプログラミングしてそれぞれの方法論に対して数値解析をして、誤差を分析する。
というテーマも考えられます。
    • good
    • 1
この回答へのお礼

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

素数定理というのがあるのですね。初めて知りました。私が素数について調べてみようと思ったのは、私が好きな森博嗣氏の本に「素数って平均すると、いくつに1つあるか」と書いてあったからです。元工学部の助教授の先生がわからないのだから、私にわかるはずはありませんが、およそどのくらいかなと思って調べてみました。私の予想では10個に1個くらいかなと思いましたが、意外に少ないなという印象でした。

教えていただいた、「数値分析をして、誤差を分析する」というのが面白そうなので、調べてやってみようと思います。

お礼日時:2013/09/13 06:40

同じく


素数(5,11,17)は
初項5、階差6の等差数列

素数(251,257,263)は
初項251、階差6の等差数列
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2014/01/10 07:53

素数は


  1、2,3,5,7,11・・・・・
です。ここで、3,5,7に注目です。

3+(N-1)x2=3
3+(N-1)x2=5
3+(N-1x2=7

つまり、初項3で階差2の等差数列であることがわかる。
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2014/01/10 07:54

素数定理について調べてみたのなら、


x 以下の素数の個数を π(x) 個として
π(x) ~ x/(log x) と書いてあるのを見かけたと思います。
ここで、f(x) ~ g(x) というのは、
lim[x→∞] f(x)/g(x) = 1 という程の意味です。
この式から、lim[x→∞] π(x)/x = 0 が従います。

1 から x までの自然数に含まれる素数の割合 π(x)/x は、
x が大きくなると、いくらでも小さくなってゆき、
x が無限に大きくなれば、0 とみなせる ということです。
質問の答えは、「ほとんど 0 %」かな。

調べる x の範囲がたった一千万や十億くらいまででは、
x が無限に大きくなったときの様子は見えてこないでしょう。
パソコンでの実験よりも、理論的な考察が必要になりそうです。
とりあえず、高校生向けの数2数3を勉強してください。
「極限」とは何かの雰囲気が掴めれば、少し上級向けの本も
読めるようになるでしょう。
    • good
    • 1
この回答へのお礼

「ほとんど 0 %」ですか。
回答をありがとうございました。

お礼日時:2014/01/10 07:55

高一ですか。

大学生でも出来ないのでは。
なんか、結果見てると収束するような。

例えば5%に収束とかなると面白いが
結局は、X%---->0%(N----->∞)になるのではないか。
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2014/01/10 07:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!