Thursday 17 October 2013

algorithms - Efficiently calculating the 'prime-power sum' of a number.


Let $n$ be a positive integer with prime factorization $p_1^{e_1}p_2^{e_2}\cdots p_m^{e_m}$. Is there an 'efficient' way to calculate the sum $e_1+e_2+\cdots +e_m$?




I could always run a brute force algorithm to factor $n$ and then calculate the sum directly, but that is unwieldy and roundabout. An easy upper bound is $\log_2(n)$, and we can successively improve it to $\log_p(n)$ for each $p$ that doesn't divide $n$. But I want the explicit sum instead of an upper bound.



I am unversed in number theory that is anything but elementary and was hoping someone here would have some insight in approaching this problem. Any help is appreciated.




I'm using the term 'efficient' loosely. If you can calculate the asymptotic runtime explicitly that's impressive and helpful (polynomial time would be great, if wishes do come true) but unnecessary.

No comments:

Post a Comment

real analysis - How to find $lim_{hrightarrow 0}frac{sin(ha)}{h}$

How to find $\lim_{h\rightarrow 0}\frac{\sin(ha)}{h}$ without lhopital rule? I know when I use lhopital I easy get $$ \lim_{h\rightarrow 0}...