Leetcode 204 Count Primes 数论
题意:统计小于n的质数个数。
作为一个无节操的楼主,表示用了素数筛法,并没有用线性素数筛法。
是的,素数筛法并不是该题最佳的解法,线性素数筛法才是。
至于什么是素数筛法,请百度吧。
1 class Solution { 2 public: 3 int countPrimes(int n) { 4 bool *isp= new bool[n]; 5 for (int i =0 ; i < n; ++i) 6 { 7 isp[i]= true; 8 } 9 for (int i = 2; i * i< n; ++i)//素数筛法 10 { 11 if(isp[i]){ 12 for(int j = i + i; j < n; j+=i){ 13 isp[j] = false; 14 } 15 } 16 } 17 int ans = 0; 18 for (int i = 2; i < n; ++i){ 19 ans += isp[i]; 20 } 21 delete isp; 22 return ans; 23 } 24 };
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步