[過去ログ] Pythonのお勉強 Part68 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
635(4): (ワッチョイ 692c-3A4z) 2022/11/03(木)17:39 ID:JzcJhjtx0(1) AAS
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ではどうやって高速化できますか?
638: (ワッチョイ 1302-4ham) 2022/11/03(木)18:05 ID:pngFKRCN0(1) AAS
>>635
range(2, n//2 + 1) を range(2, int(n**0.5)+1)
にするだけで速くなると言うのは違うか。
n**0.5 は math を import するのが面倒だっただけ。。。
642: (ガックシ 06eb-lAaw) 2022/11/03(木)19:17 ID:5fumPTTR6(1) AAS
>>635
allかanyか使う
644: (ワッチョイ c108-UToK) 2022/11/03(木)20:09 ID:6A5YXZlC0(1/2) AAS
>>635
sympy.isprime()
645: (ワッチョイ c108-UToK) 2022/11/03(木)20:13 ID:6A5YXZlC0(2/2) AAS
>>635
そもそもこのプログラムは一行で済む
print(sympy.primepi(250001))
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.030s