![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.4ベストアンサー
- 回答日時:
昔Perlで書いたのを発掘.
perl prime.pl 10000 1000
とすると,最初から数えて10000個の素数のうち
1000未満のものを一気に出力します.
アルゴリズムとしては「エラトステネスの篩」を
少し効率化しています.
#prime.pl
use strict;
use warnings;
my $num =$ARGV[0];
my $upper =$ARGV[1];
sub primefactory{
my @primes=(2,3);
my $state=-1;
return sub{
$state++;
return $primes[$state] if $state==0 or $state==1;
my $prime_cand=$primes[-1]+2;
SIEVE:
foreach my $d (2 .. int(sqrt($prime_cand))+1){
if ($prime_cand % $d ==0){
$prime_cand++;
goto SIEVE;
}
}
@primes=(@primes,$prime_cand);
return $primes[-1];
}
}
my $x=primefactory();
foreach (1..$num){my $p=$x->();
if ($p<$upper) {print $p,"\n"}
else {last;}
}
No.3
- 回答日時:
ExcelのVBAでプログラムを組めばExcelのセルに表示できます。
この回答へのお礼
お礼日時:2010/04/29 16:06
ご回答をありがとうございました.
Excel は使っておりませんので,残念ながら試せませんが,
今,Risa/Asir を使って検討中です.悪しからず.
No.2
- 回答日時:
#1です。
大切なことを言い忘れました。割っていく数(3,5,7、・・・)は奇数でOKです。
素数にする必要はありません(素数を表示するプログラムに、素数が必要なんて
変ですしね!)。
この方法は結構ムダがある(例えば、3で割り切れなかった場合は、9で割り切れない
のは明らか)のですが、プログラムにする場合は、単純な方法の方が早い
場合があります。
実際、奇数の中から3の倍数をよけて割っていく素因数分解のプログラムを
組んだことがありますが、単純に奇数で割っていく方が計算が早かったです。
割られる方の数qも、高々1000程度であれば、単純に奇数にするのをお勧めします。
3の倍数をよけたり5の倍数をよけたりしない方が、プログラムがシンプルになって
ミスもしにくくなります。
No.1
- 回答日時:
できますよ。
原始的な方法ですが、素数か否かの判定をする奇数をqとします。
奇数のみが対象なので、qを3,5,7、・・・と順番に割っていき、
割れ切れたら「素数でない」と判定します。どこまで割るかというと、
√qまでです。√qが整数でなければ、√qを超えない最大の奇数で
OKです。だから意外と早くこの判定は終わります。
例えば、qが119なら、√119=10.9・・・なので3,5,7,9
まで調べればいい。√qまで割って割り切れなければqは素数です。
qを表示します。
qが素数か否か判定できたら、qを2増やし、また3から順に割っていきます。
以上をqが999になるまで繰り返せば、p<1000 となる奇素数 p の
すべてを数列 3, 5, 7, ・・・ のように表示できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 例1 明日の試合は大谷または佐々木が先発です。 明日の試合は大谷が先発または佐々木が先発です。 例2 5 2023/03/30 13:50
- 日本語 例1 明日の試合は大谷または佐々木が先発です。 明日の試合は大谷が先発または佐々木が先発です。 例2 4 2023/03/30 10:17
- JavaScript 助けてください‼︎ javascriptで質問があります。 配列を定義して、 29342、45342 3 2022/06/26 22:06
- 数学 素数について 7 2022/03/31 02:33
- 化学 立体化学での質問です。 「メソ体は、不斉炭素が偶数で、分子内に鏡映面がある化合物である。」 といった 2 2022/06/24 02:34
- 数学 『最後の自然数はどんな数か』 3 2023/06/26 20:38
- 数学 メルセンヌ素数探しについて。 2 2022/06/07 22:42
- 数学 数学者は「26万分の1の確率は偶然の可能性もある」と言いますか? 1 2022/07/03 14:37
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- YouTube 新しく買ったデスクトップPCを使用すると、今までのGoogleのアカウントが使えなくなった。 1 2023/01/07 00:41
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
画像を読み込むのと取り込むの...
-
VBAでユーザーフォームが自動的...
-
binファイルってiphone専用です...
-
Vba UserFormを前面に出す方法...
-
読み込み中にアクセス違反が発...
-
XnViewにwebpを「いつも開く」...
-
モジュール、アプリケーション...
-
ドロップダウンリストの文字を...
-
「コンポーネントが見つかりま...
-
閉じるを押してもデバッグが終...
-
基本的なC言語のプログラム
-
1. 仮想CPU「exmini」を使用し...
-
少ない順 昇順 降順
-
[vb.net] dllから呼び出し元の...
-
VBAにてメール作成した際、一部...
-
VC++でプログラムの多言語化を...
-
ボディパンプとシェイプパンプ...
-
ハンドルされていない例外とア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
長距離・マラソンをやりながら...
-
Excelに埋め込んだVBAのプログ...
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
-
未使用の変数を一括検索する方法
-
読み込み中にアクセス違反が発...
-
VBAでユーザーフォームが自動的...
-
エクセルとワードをデスクトッ...
-
モジュール、アプリケーション...
-
テキストボックスのエンターキ...
-
画像を読み込むのと取り込むの...
-
Vba 実数および実数タイプの変...
-
インクリメント演算子のみを用...
-
main関数を先頭に置くデメリット
-
C言語でのaccess violationに...
-
Application.ScreenUpdatingが...
おすすめ情報