bashrc/vimrc再び。
.bashrcはじめ設定ファイルのたぐいはちょくちょく書き加えるので少しずつカオスになっていく。
ということで、整理しつつ、いくつかtips的なアレコレをまとめてみた。
素数列生成。
前回のエントリで、ProjectEular 10があまりに遅かったので素数列生成について色々考えてみた。
結構速くなったのだけど、多分それでもまだまだ遅いカモ。
調べれば色々アルゴリズムあるのだろうけど、うちの弱い頭だと論文とか読めないので独力で頑張ってみた。
そんなこんな。
書いている間になんどもやる気を失って、2〜3週間かけて書いたのですが、当然よい文章になるわけもなく、超駄文です。
一応、色々頭悩ませて書いたのでナニカの足しになればいいな、と思って駄文のままPOST。最速(?)な素数列生成はエントリの一番最後に。
あと、小ネタ、というか完全ネタですが、dcスクリプトによる最大最小除去平均を求めてます。
ナニカの参考になれば。
HaskellでProjectEulerを
なんか人様のブログを見ていると結構やっている人が多いようなので挑戦してみた。
というか、挑戦していた。結構前からだらだらやってます。
とりあえず、今回は前にやったやつをば。
間違ってる/汚い/効率悪い、など訂正、助言、貶し、などいろいろお待ちしています。
ちなみに、Project Eulerの公式は
http://projecteuler.net/
あと翻訳してくださっている方がいらっしゃるようで、自分は日本語訳の
http://odz.sakura.ne.jp/projecteuler/index.php?Project%20Euler
の方を使っています。
えぇと、Project Eulerのライセンスって引用okですよね?
というか、引用はライセンス関係なしにok?あ、「一部」じゃないといけないのか?
ともかく、ProjectEulerの問題張るのはok...ですよね...?
間違ってたらごめんなさい。
足し算の逆演算を考えているうちに、ディスプレイの中の世界に入りたい、という願望は悪くないことに気づいた。
足し算の反対ってなんだ?と聞かれれば十人中十人ぐらいが引き算と答えると思う。
たしかに、f(x) = x + 5、みたいな関数に対して、足し算を引き算に変えた、g(x) = x - 5、は
例えば、f(3) = 3 + 5 = 8で、g(8) = 8 - 5 = 3、もっと一般的には
f(g(x)) = (x - 5) + 5 = x = (x + 5) - 5 = g(f(x))
となるから確かに逆演算になる。
ではホントに足し算の反対は引き算だろうか?
続きを読む