Description:
Count the number of prime numbers less than a non-negative number, n
click to show more hints.
References:
How many Primes Are There ?
Sieve of Eratoasthenes
Hide Tags: Hash Table Math
翻译:
描述:
计算素数的数量不到一个非负数字,n
Sieve of Eratoasthenes:找质数算法
由于一个合数总是可以分解成若干个质数的乘积,那么如果把质数(最初只知道2是质数)的倍数都去掉,那么剩下的就是质数了。
例如要查找100以内的质数,首先2是质数,把2的倍数去掉;此时3没有被去掉,可认为是质数,所以把3的倍数去掉;再到5,再到7,7之后呢,因为8,9,10刚才都被去掉了,而100以内的任意合数肯定都有一个因子小于10(100的开方,Math.Sqrt(n)),所以,去掉,2,3,5,7的倍数后剩下的都是质数了。
用程序可以这样解决,引入布尔类型数组a[i],如果i是质数,a[i]=true,否则a[i]=false。那么划掉i可以表示成a[i]=false。
时间: 2024-10-13 08:10:32