python 请问为何RE
查看原帖
python 请问为何RE
697367
qiu147楼主2024/4/5 20:40
t = int(input())
for i in range(t):
    n = int(input())
    flag = 0
    i = 2
    cnt = [0] * n
    ans = [0] * n 
    while i*i <= n:
        while n % i == 0:
            cnt[i] += 1
            n //= i
        ans[flag] = i
        flag += 1
        i += 1
    if flag == 1 and n > 1:
        ans[1] = n
        cnt[n] = 1
    x,y = cnt[ans[0]],cnt[ans[1]]
    if flag > 2:
        print('no')
    elif x >= 2 and y >= 2:
        print('yes')
    elif (x >= 2 and y == 0) or (x == 0 and y >= 2):
        print('yes')
    else:
        print('no')
            
2024/4/5 20:40
加载中...