1 真题
2 解析
难度系数:⭐⭐
考察题型:数论
涉及知识点:约数定理
思路分析:
一开始我是想着直接分解因数,结果100!的时间复杂度实在太大。
所以这道题只能靠巧取解决。搬出适合本题的工具↓
质数-唯一分解公式:
质数有2、3、5、7、11、13······
比如18=2*3*3(p1=2,a1=1;p2=3,a2=2)
约数个数=(a1+1)(a2+1)=(1+1)(2+1)=6 (分别是:1,2,3,6,9,18)
3 代码
#1.创建1~100的质数集
def prime(x):
for i in range(2,int(x**0.5)+1):
if x%i==0:
return False
return True
zhishu=[i for i in range(2,101) if prime(i)==True]
#zhishu=[