题解 | 小苯的数字权值
dp= [False]*200100
n = 200100
for i in range(2,int((n+2)**0.5)):
if dp[i] == False and i*i < n:
for j in range(i+i,n, i):
if dp[j] == False:
dp[j] = i
t = int(input())
for k in range(t):
wt = []
mul = 1
s = int(input())
while dp[s] != False:
wt.append(dp[s])
s = s // dp[s]
wt.append(s)
wt_set = list(set(wt))
if len(wt_set) == 1:
print(2*wt.count(wt_set[0]))
else:
for item in wt_set:
mul *= wt.count(item)+1
print(mul)

