[アルゴリズム] 1から100までの素数を取得(C言語編)

folding-rule-1204117_1280
LINEで送る
Share on GREE
Share on LinkedIn

C言語は処理が速いと言われることを、体感できた回になりました。
こういうCPU負荷が同一の時に言語別に処理時間を計測することは、サービス構築時にどの言語をチョイスするかという議論の基本的なゴールになるので、
自分の中で有意義理論を確立できた内容になり、個人的に満足してます。
まあ、通常は、複数言語を構築して比べるなんてことはあまりしないですからね。

ソースコード

実行

今回も時間計測を行ってみました。

100 : 0.008s
1000 : 0.007s
10000 : 0.044s
100000 : 1.630s
1000000 : 3m7.838s

今回の分岐点は、100万上限でしたね。

解説

C言語の配列は固定長

毎回苦しめられますが、C言語で配列を初めに定義する時、配列の最大値を定義しておかなければいけません。
今回のように、最終的に個数が何個になるか分からないような場合は、C言語の苦手分野ということで、AWKと同じく、
結果を表示する仕様にして、配列保持はしないようにしました。

リンク

素数計算プログラム

Javascript
PHP
Python
Shell
AWK
Go言語
Ruby

アルゴリズム過去記事

http://wordpress.ideacompo.com/?cat=562&tag=Algorithm

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です