結果

問題 No.2751 429-like Number
ユーザー D M
提出日時 2025-02-20 10:14:07
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,595 ms / 4,000 ms
コード長 889 bytes
コンパイル時間 363 ms
コンパイル使用メモリ 82,636 KB
実行使用メモリ 78,136 KB
最終ジャッジ日時 2025-02-20 10:14:35
合計ジャッジ時間 26,001 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 6
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

def primes_up_to(n):
    if n < 2:
        return []
    # 0~nまでTrueで初期化(素数かどうかの判定用)
    sieve = [True] * (n + 1)
    sieve[0] = sieve[1] = False  # 0と1は素数ではない
    for i in range(2, int(n**0.5) + 1):
        if sieve[i]:
            # iの倍数をふるい落とす(i*iからnまでの範囲で刻みi)
            for j in range(i * i, n + 1, i):
                sieve[j] = False
    # Trueになっているインデックスが素数
    return [i for i, is_prime in enumerate(sieve) if is_prime]

n = 10**5
C=primes_up_to(n)
q=int(input())
for _ in range(q):
    a=int(input())
    cnt=0
    for i in C:
        if a==1 or a<i:
            break
        while a%i==0:
            a//=i
            cnt+=1
    if a==1 and cnt==3:
        print("Yes")
    elif a!=1 and cnt==2:
        print("Yes")
    else:
        print("No")
0