文章目錄
- Question
- Ideas
- Code
Question
給定 n 個正整數 ai,請你輸出這些數的乘積的約數個數,答案對 109+7 取模。
輸入格式
第一行包含整數 n。
接下來 n 行,每行包含一個整數 ai。
輸出格式
輸出一個整數,表示所給正整數的乘積的約數個數,答案需對 109+7 取模。
Ideas
Code
# 約數之和
n = int(input())
dic = dict()
mod = int(1e9+7)
# 分解質因數
def get_divide(n):
for i in range(2,int(n**0.5)+1):
if n % i == 0:
s = 0
while n % i == 0:
n //= i
s += 1
if i not in dic:
dic[i] = s
else:
dic[i] += s
if n > 1:
if n not in dic:
dic[n] = 1
else:
dic[n] += 1
for i in range(n):
x = int(input())
get_divide(x)
res = 1
for i in dic.values():
res *= (i + 1) % mod
print(res%mod)