2015年2月22日日曜日

高速!?素数判定プログラム

高速!?素数判定プログラム

今回はjavascriptを使って高速素数判定プログラムを作ってみました。

下に入力欄に判定させたい数値を入れて、Startボタンを押せば実行結果とかかった時間が出ます。

素数判定にはエラトステネスの篩を用いました。以下に参考URLを載せておきます。

参考URL: http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/ErSieve.html

2015年2月21日土曜日

Hacksellを少しいじってみた

お久しぶりです。今日はHacksellを少しいじってみて若干はまったところを書いておきたいと思います。え、四足ロボットはどうしたって?でははまったところを見てみましょう。
絶対値を出すプログラムを書いていたときに問題が発生しました。
プログラムは
abs::Int->Int
abs n = if n >= 0 then n else -n
です。
これを実行した時0以上の場合問題なく実行されるのですが、負の値を引数とした時に実行エラーが起こりました。
その原因と言うのはHaskellでは演算子と関数適用の優先順位が関数適用の方が上なんですね。つまりabs -5というのは(abs -)5と判断されます。これじゃあ、エラーが起きて当然ですね。
ですので実行時にabs (-5)として-5を一つの引数として実行すれば問題解決しました。