首先贴模板
long long dcp(long long x){ long long i,ans = 1; for(i = 2; i * i <= x; i++){ if(x % i == 0){ long long temp = 0; while(x % i == 0){ x /= i; temp++; } ans *= (temp+1); } } if(x > 1) ans *= 2; return ans; }
举个例子,
那么答案就是
怎么理解呢,
对于2 有0 1 2 3四种指数选择,对于3 有0 1两种指数选择
所以 就是4 * 2 = 8 个因子个数
还是理解吧不了,那我们列出来
2 3
这就很明显了吧