Pythonのお勉強 Part68at TECHPythonのお勉強 Part68 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト620:デフォルトの名無しさん 22/11/03 09:06:43.51 b87ZSO0X0.net 半島人w 621:デフォルトの名無しさん 22/11/03 13:19:41.92 M31+WIXk0.net ネトウヨはコードすら書けない 622:デフォルトの名無しさん 22/11/03 17:39:13.22 JzcJhjtx0.net isPrime(n: int): __for i in range(2, n//2 + 1): ____if (not n%i): ______return 0 __return 1 numPrimes = 0 for i in range(2, 250001): __numPrimes += isPrime(i) print(numPrimes) cとかだと5秒以下で終わると思うんですが pythonではどうやって高速化できますか? 623:デフォルトの名無しさん 22/11/03 17:50:53.27 6cc1wOit0.net 全角スペースでインデントするといい 624:デフォルトの名無しさん 22/11/03 17:57:37.28 t2qUW0n10.net エラトステネスの篩みたいなまともなアルゴリズムを使え 625:デフォルトの名無しさん 22/11/03 18:05:57.27 pngFKRCN0.net >>615 range(2, n//2 + 1) を range(2, int(n**0.5)+1) にするだけで速くなると言うのは違うか。 n**0.5 は math を import するのが面倒だっただけ。。。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch