結果
| 問題 | No.843 Triple Primes | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2022-04-23 00:06:36 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                RE
                                 
                             | 
| 実行時間 | - | 
| コード長 | 630 bytes | 
| コンパイル時間 | 170 ms | 
| コンパイル使用メモリ | 81,976 KB | 
| 実行使用メモリ | 72,684 KB | 
| 最終ジャッジ日時 | 2024-06-24 05:41:11 | 
| 合計ジャッジ時間 | 7,001 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 40 RE * 2 | 
ソースコード
def primeset(N): #N以下の素数をsetで求める.エラトステネスの篩O(√Nlog(N))
    lsx = [1]*(N+1)
    for i in range(2,int(-(-N**0.5//1))+1):
        if lsx[i] == 1:
            for j in range(i,N//i+1):
                lsx[j*i] = 0
    setprime = set()
    for i in range(2,N+1):
        if lsx[i] == 1:
            setprime.add(i)
    return setprime
    
N = int(input())
setp = primeset(N)
lsp = list(setp)
lsp.sort()
P =len(lsp)
maxp = lsp[-1]
cnt = 0
for k in range(P):
    if lsp[k] ** 2 > maxp*2:
        break
    for j in range(P):
        if (lsp[k]**2 - lsp[j]) in setp:
            cnt += 1
print(cnt)
            
            
            
        