请教一个问题
整数都可以分解成N = p_1^{i_1} * p_2^ {i_2} * ...*p_n^{i_n}如果不考虑p_1,p_2,...,p_n具体是多少而只考虑其最后分解结果中不同素因子的个数及其幂.例如用$$表示一个数含有n个不同的素因子,其幂依次为i_1,i_2,...,i_n
问题是能不能快速有效的求出所有某个范围内的数中有多少个数的分解形式为$$?
N=p_1^{i_1}p_2^{i_2}...p_n^{i_n} 1# gracias
感觉跟 把数完整分解出来好像没啥差别。 如果是求出幂的和,maple和PARI/Gp 都有一个相关的函数可以用,bigomega
=============================
摘自 PARI/Gp文档:
bigomega(x) returns the number of prime divisors of |x|,counting multiplicity.
numdiv(x)is the number of divisors of |x|.
omega(x) is the number of distinct prime divisors of x. 没有快速有效的算法吧,就是求某个范围内素数的个数,已经很难了! :) 今天什么情况,一下子这么多回复。 没有快速有效的算法吧,就是求某个范围内素数的个数,已经很难了!
xbtianlang 发表于 2012-1-13 11:56 http://bbs.emath.ac.cn/images/common/back.gif
求某个范围内素数的个数有近似公式
n以内的素数个数 $pi(n) ≈n/ln(n)$ 不知道楼主说的“某个范围” 是什么范围 :) 10^10 $10^10$范围不大,直接利用不同的p去构造吧
页:
[1]