题目描述
给定正整数 n,请问有多少个质数是 n 的约数。
输入格式
输入的第一行包含一个整数 n。
输出格式
输出一个整数,表示 n 的质数约数个数。
样例输入
396
样例输出
3
答案:部分超时
import math
def is_prime(number):
if number <= 1:
return False
for i in range(2, int(math.sqrt(number)) + 1):
if number % i == 0:
return False
return True
n = int(input())
sum_of_prime_factors = 0
for i in range(1, n + 1): # 从1开始,因为1是所有数的因数
if n % i == 0: # 检查i是否是n的因数
if is_prime(i): # 检查i是否为质数
sum_of_prime_factors += 1
print(sum_of_prime_factors)