結果
問題 |
No.843 Triple Primes
|
ユーザー |
![]() |
提出日時 | 2020-01-10 09:12:22 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 473 ms / 2,000 ms |
コード長 | 1,085 bytes |
コンパイル時間 | 114 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 22,016 KB |
最終ジャッジ日時 | 2024-11-23 21:40:38 |
合計ジャッジ時間 | 11,648 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 42 |
ソースコード
import math def get_list_primes(n): if n == 1: return [] if n == 2: return [2] prime_list = [2] num_list = [e + 1 for e in range(2, n, 2)] limit = int(n ** 0.5) while True: leader = num_list[0] if limit < leader: return prime_list + num_list prime_list.append(leader) num_list = [e for e in num_list if e % leader != 0] def judge_prime(n): res = None count = 0 for i in range(1, int(n ** 0.5) + 1): if n % i == 0: count += 1 if n // i != i: count += 1 if count > 2: res = 0 else: res = 1 return res n = int(input()) prime_list = get_list_primes(n) len_list = len(prime_list) res = 0 for i in range(len_list): target = (prime_list[i] + 2) ** 0.5 if math.ceil(target) != math.floor(target): continue if judge_prime(int(target)) == 1: if prime_list[i] == target: res += 1 else: res += 2 print(res)