結果
問題 | No.843 Triple Primes |
ユーザー |
|
提出日時 | 2022-07-16 16:10:11 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 251 ms / 2,000 ms |
コード長 | 656 bytes |
コンパイル時間 | 157 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 75,136 KB |
最終ジャッジ日時 | 2024-06-28 15:41:51 |
合計ジャッジ時間 | 7,293 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 42 |
ソースコード
import math def sieve_of_eratosthenes(n): prime = [True for i in range(n+1)] prime[0] = False prime[1] = False sqrt_n = math.ceil(math.sqrt(n)) for i in range(2, sqrt_n): if prime[i]: for j in range(2*i, n+1, i): prime[j] = False return prime n = int(input()) prm = sieve_of_eratosthenes(n) pri = [] pset = set() for i in range(n+1): if prm[i] == True: pri.append(i) pset.add(i) ans = 0 for i in range(len(pri)): r2 = pri[len(pri)-1-i]**2 if r2 > 10**6: continue for j in range(len(pri)): if r2-pri[j] in pset: ans += 1 print(ans)