本文主要是介绍力扣:204. 计数质数(Java),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 题目描述:
- 示例 1:
- 示例 2:
- 代码实现:
题目描述:
给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。
示例 1:
输入:n = 10
输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
示例 2:
输入:n = 0
输出:0
代码实现:
class Solution {public int countPrimes(int n) {int[] isPrime = new int[n];// 标记n以内的质数,1为合数,0为质数int count = 0;// 质数个数for (int i = 2; i < n; i++) {// 从2开始遍历if (isPrime[i] == 0) {count++;// 质数个数加一if ((long) i * i < n) {// 将 i 转换为 long 的原因是为了防止乘法溢出导致错误的结果for (int j = i * i; j < n; j += i) {// 如果i是质数,那么i的倍数一定不是质数isPrime[j] = 1;// 标记为合数}}}}return count;// 返回个数}
}
这篇关于力扣:204. 计数质数(Java)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!