题目描述:
问题重点在实现效率上,主要分3块提高效率:(N = 10000000)
1.查找 1~sqrt(N) 的所有质数,利用埃斯托斯特尼筛法。只考虑到sqrt(N)是因为1~N的数只可能有一个大于sqrt(N)的质因子,这点在质因子计算时很好判断;
2.计算1~N之间的某数x的质因子数目,计算时利用上面1建立的质数表,同时在计算过程中利用x的质因子更新x(相除)来提高速度;
3.最后利用pair数据结构记录每个数及其质因子数目
题目描述:
问题重点在实现效率上,主要分3块提高效率:(N = 10000000)
1.查找 1~sqrt(N) 的所有质数,利用埃斯托斯特尼筛法。只考虑到sqrt(N)是因为1~N的数只可能有一个大于sqrt(N)的质因子,这点在质因子计算时很好判断;
2.计算1~N之间的某数x的质因子数目,计算时利用上面1建立的质数表,同时在计算过程中利用x的质因子更新x(相除)来提高速度;
3.最后利用pair数据结构记录每个数及其质因子数目