N-smooth numbers: Difference between revisions

Line 2,628:
 
def nsmooth(n, limit)
raise "Exception(n or limit)" if n < 2 || n > 521 || limit < 1
raise "Exception(must be a prime number: n)" ifunless limitprime? < 1n
 
primes = gen_primes(2, n)
bn, ok = n, false
primes.each { |prime| (ok = true; break) if bn == prime }
raise "Exception(must be a prime number: n)" if not ok
ns = [0] * limit
ns[0] = 1
nextp = primes[0..primes.index(n)]
primes.each { |prime| break if prime > bn; nextp << prime }
 
indices = [0] * nextp.size
Anonymous user