因子个数打表模板---线性筛法
Posted 努力努力再努力x
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了因子个数打表模板---线性筛法相关的知识,希望对你有一定的参考价值。
打表出1-n的所有因子个数
模板一:
1 int divisor_num[maxn]; 2 void init(int n) 3 { 4 for(int i = 1; i <= n; i++) 5 { 6 divisor_num[i]++; 7 for(int j = i * 2; j <= n; j += i) 8 divisor_num[j]++; 9 } 10 }
模板二:
1 int divisor_num[maxn]; 2 void init(int n) 3 { 4 for(int i = 1; i * i <= n; i++) 5 { 6 for(int j = i; i * j <= n; j++) 7 { 8 divisor_num[i * j] += 2; 9 if(i == j)divisor_num[i * j]--; 10 } 11 } 12 }
以上是关于因子个数打表模板---线性筛法的主要内容,如果未能解决你的问题,请参考以下文章