スキップしてメイン コンテンツに移動

投稿

2月, 2020の投稿を表示しています

Perl で 円周率 を計算する

円周率を計算するPerlプログラムを github で公開している人がいた。 https://gist.github.com/djsas/2083243 ===ここから=== use strict; use warnings; use bigint; my($t1,$t2); my $n=2000; my $a; my $b; my $i; $t1=times; $a = $b = 10 ** $n; for($i = $n * 8 + 1; $i >= 3; $i -= 2) {   $a = int(int($i / 2) * ($a + $b * 2) / $i); } $a -= $b; print("3.$a\n"); $t2=times; print "<".($t2-$t1).">"; ===ここまで=== 円周率の公式と計算法 http://www.kurims.kyoto-u.ac.jp/~kenkyubu/kokai-koza/H16-ooura.pdf 円周率を計算してみよう http://w3e.kanazawa-it.ac.jp/e-scimath/contents/t16/textbook_t16_all.pdf

Perlでの素数判定プログラム

取り敢えず簡易な素数判定プログラム。 使用言語は perl。 Nが 2から√Nまで の整数で割り切れないと素数だと判定している。 次のプログラムは 3以上の整数 しか判定できない。 =====ここから===== use strict; use warnings; # input number chomp(my $num = <>); foreach my $i (2 .. int sqrt $num) {   if ($num % $i == 0) {     print "Non prime.\n";     exit;   } } print "$num is Prime number.\n"; =====ここまで===== $num は必要な数字を入力してあってもいい。 素数とは、 「2以上の整数の中で、1と自分自身以外で割り切れない数」 とよく言われる。 細かく説明すると次のようなことである。  6は2と3から作ることが出来る為、6は合成数という。  様々な数が合成することで作れる。  合成することが出来ない数が素数である。 このような理由から 1は素数にならない。 1は何にかけてもかけられた数になる為。