Scientific Calculator

(public) moshangcheng/sievePrime

By moshangcheng moshangcheng

The linear Sieve of Eratosthenes

Tagged: prime

sievePrime = function(n) {
	var prime = [];
	var notP = range(1, n+1).*0;
	var i = 2;
	while(i <= n) -> (
		(not notP[i]) ? push(prime, i) : "";
		var j = 0;
		var flag = 1;
		var condition := flag and j < len prime and prime[j]*i <= n;
		while(condition ) -> (
			notP[i * prime[j] ] = 1;
			flag = (i mod prime[j]) ? 1 : 0;
			j += 1;
		);
		i += 1;
	);
	prime;
};

spam? | offensive?

1 Comment

Sign in to leave a comment