もじょえんじにあ……共感できる?

日常のメモ。日々これ共感。へたれでしょほてきなIT?

2021-07-01から1ヶ月間の記事一覧

せっかくなので計ってみる

デコレータ関数もつくったので計ってみましょう。 関数の手前に1行足すだけデス。あとmainも作るdeathネ。 @elapsed def e0(n): @elapsed def eratosthenes(n): def main(): n = 10000 primes = e0(n) primes = eratosthenes(n) print(len(primes)) if __nam…

Pythonで速い書き方のエラトステネスちゃん

昨日書いたコードはぶっちゃけ、速くないdeath。 まぁ、教科書的?というか遅いとわかっているメソッドつかってますからね。 速くするならこんな感じ? def eratosthenes(n): n = int(n) if n < 2: return [] sqrtn = 1 + int(n**0.5) primes = [2, 3] cands…

エラトステネスのふるい

古くて新しい? 素数を求める方式にエラトステネスのふるいというのがあります。 すっごいシンプルで2からNまでの整数をどばーっと集めて先頭のものは素数なので、それで割れるものを篩い落す(ふるいおとす)方式です。 で、残ったのが素数リストになるという…

関数の時間を計るデコレータ

次のネタのための仕込みdeath。 関数の実行にどれくらいの時間がかかったか比べたいことありませんか?pythonならtime.timeで計れますが、decoraterにしておくと便利です。 #!/usr/bin/env python3 from functools import wraps import time def elapsed(fun…