A31946. 小杨的幸运数字
填空题
10
知识点
题目描述
小杨的幸运数字
题目描述
小杨认为他的幸运数字应该恰好有两种不同的质因子,例如,12=2*2*3的质因子有 2,3,恰好为两种不同的质因子,因此12是幸运数字,而30=2*3*5的质因子有2,3,5,不符合要求,不为幸运数字。
小杨现在有n个正整数,他想知道每个正整数是否是他的幸运数字。
输入格式
第一行包含一个正整数 n,代表正整数个数。
之后 n 行,每行一个正整数。
输出格式
输出 n 行,对于每个正整数,如果是幸运数字,输出1 ,否则输出0 。
样例1
输入
3
7
12
30输出
0
1
0样例解释
7的质因子有7,只有一种。
12的质因子有2,3,恰好有两种。
30的质因子有2,3,5,有三种。
数据范围
对于全部数据,保证有1 ≤ n ≤10000,每个正整数 ai 满足2 ≤ ai ≤ 1000000
参考答案
N = 10**5 + 10
a = [0] * N
def calc(x):
i = 2
mp = {}
while i * i <= x:
if x % i == 0:
mp[i]=1
while x % i == 0:
x //= i
i += 1
if x != 1:
mp[x]=1
return int(len(mp.items()))
def main():
n = int(input())
for i in range(1, n + 1):
a[i] = int(input())
x = calc(a[i])
if x == 2:
print("1")
else:
print("0")
if __name__== "__main__":
main()
上一题
下一题