focus leepple

求包含n的n以内所有质数,从第一个质数开始,则该质数的倍数为合数,一直到sqrt(n),,便可以找出所有质数

class Solution {public:int countPrimes(int n){if (n <= 2) return 0;vector<bool> primes(n+1,true);for(int i=3;i<=sqrt(n);i++){if(primes[i]){for(int j=i*i;j<=n;j+=i)primes[j]=false;}}int count=0;for(int i=2;i<=n;i++)if(primes[i]) count++;return count;}};

记忆像是倒在手心里的水,不论是摊平还是握紧,

focus leepple

相关文章:

你感兴趣的文章:

标签云: