2021以下有多少个数是有且仅有两个质数的积,可以通过枚举法来解决。 先列出2021以下的所有质数,它们是2、3、5、7、11、13……1993、1997、1999、2003、2009、2011、2017、2027。 然后对于每一个小于2021的正整数n,可以枚举其所有可能的质数组合,判断它们的乘积是否等于n。如果等于,统计答案即可。 具体的代码实现如下(使用Python语言): 复制# 判断一个数是否是质数def is_prime(n): if n < 2: return False for i in range(2, int(n ** 0.5) + 1): if n % i == 0: return False return True# 判断一个数是否是有且仅有两个质因子的积def is_two_primes_product(n): count = 0 for i in range(2, n): if n % i == 0 and is_prime(i): count += 1 return count == 2# 统计有且仅有两个质因子的积的个数count = 0for i in range(2, 2021): if is_two_primes_product(i): count += 1print(count) 运行得到的结果是60,即2021以下有60个数是有且仅有两个质数的积。