何かを書き留める何かスマートフォン用の表示で見る何かを書き留める何か数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。chain?http://projecteuler.net/problem=14100万以下の数の中で最長のCollatz数列を見つける問題。今回は時間を計測するためにtimeモジュールを使う。"Time:",end-start----これでも十分動くが、遅いのである。Pythonで動かすと私の環境では約90秒かかってしまう。Vista言語:Pythonである。Eulerの問題は60秒以内で解けるように設定されているのでアルゴリズムに問題がある可能性が高い。棚上げして小手先な対策を考える。count----偶奇判定と2で割るという操作をビットシフトで実装する。計測してみると約77秒。効果はあったがもう少し早くしたい。PyPyはPythonによるPythonの実装である(実はあまり分かっていない)。Pythonよりも高速で動作し、PyPyを使うと約10秒で計算できてしまう。3.ビット演算+PyPyなんと3秒で計算できてしまう。素晴らしいが、PyPyが何故早いのかをそれなりに理解してから喜ぶべきである。Timeコンパイラがポイントらしいがよくわからない。ビット演算というとモンゴメリ法が浮かぶ。講義で習ったがよくわからなかった。»プロフィールid:XaroCydeykn数学や計算機、読んだ本について書くブログのような何かです。(1)最近人気の記事はてなブログをはじめよう!XaroCydeyknさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。