|
PARI/GPという計算ソフトで素数構成関数ができないか挑戦してみました。
まず素数の部分を指定できるように
F(j)=(j-1)!^2%j !%は余りを出す演算です。(実質0か1が出力されます。)
を定義しました。
次に、整数mまでに存在している素数の個数を調べます。
G(m)=sum(j=1,m,F(j))
T(m,n)=floor(((n+1)/(G(m)+1))^(1/(n+1))) !0で割り算が起こらないように調整している。
P(n)=1+sum(m=1,2^n+1,T(m,n)) !上でずらした分2^n+1の処理にしている。
でn番目の素数を出す関数P(n)を定義します。
for(n=1,20,print(n,";",P(n-1))) !nとの整合を起こすために、P(n-1)の表示にしている。
出力結果
1;2
2;3
3;5
4;7
5;11
6;13
7;17
8;19
9;23
10;29
11;31
12;37
・・・
・・・
と出力していく。
ただし11番目以降は2^n+1の処理に時間が膨大に膨れていく。
これを組み合わせると素数を求める一つの式にできるような気がしますが・・・
この流れをBASICに書き直して頂けませんか。
|
|