n=2021041820210418 l=[] # !!!!用于存因数不是因子例如:10=2*5 i=2 x=n while i<pow(x+1,0.5): if x%i==0: l.append(i) x=x//i else: i+=1 l.append(x) s=set() # !!!!用于存因子 如10=1*2*5*10 s.add(1) for j in l: p=set() for k in s: p.add(j*k) for k in p: s.add(k) print(s) #集合s内存放的即为n的所有因子
第一步求质因子,第二步用质因子构造所有因子
优点:对于数据大的数能够快速算出所有因子
标签:10,python,求质,用质,因子,快速 From: https://www.cnblogs.com/jwb-9/p/17287912.html