秦皇岛建设网站官网,wordpress增加百度收录,网代理加盟,中国平面设计网官网题目标签 HashTab#xff08;哈希表#xff09; 题意及思路 题意#xff1a;略 思路#xff1a;有关素数的题目我所知道有两种做法。一种是最基本的isPrime算法#xff0c;关键点在循环判断时#xff0c;上限为Math.sqrt(n) #xff08;求n是否为素数#xff09;。另外… 题目标签 HashTab哈希表 题意及思路 题意略 思路有关素数的题目我所知道有两种做法。一种是最基本的isPrime算法关键点在循环判断时上限为Math.sqrt(n) 求n是否为素数。另外一种做法是求某段区间内的素数个数一般比赛中n一般很大这时候一般会采用素数表Table素数表的求法是先记2到n的数为1或true意味着是素数然后进行循环对每个i来说其倍数的数必定不是素数将其置为0或false。当然你一开始置所有的数都为0总体思路如此。 代码 class Solution {public int countPrimes(int n) {int primeTable[] new int[n];for(int i2;in;i){primeTable[i] 1;}for(int i2;i*in;i){ if(primeTable[i]0) continue;for(int ji*i;jn;ji){primeTable[j] 0;}}int ans 0;for(int i0;in;i){if(primeTable[i]1) ans;}return ans;}
} 转载于:https://www.cnblogs.com/kyrie211/p/11211950.html