2021-10-25:计数质数。统计所有小于非负整数 n 的质数的数量。力扣204。

2023-07-29,,

2021-10-25:计数质数。统计所有小于非负整数 n 的质数的数量。力扣204。

福大大 答案2021-10-25:

自然智慧即可。从i从3开始遍历,每次加2,i*i<n。

代码用golang编写。代码如下:

package main

import "fmt"

func main() {
n := 12
ret := countPrimes(n)
fmt.Println(ret)
} func countPrimes(n int) int {
if n < 3 {
return 0
}
// j已经不是素数了,f[j] = true;
f := make([]bool, n)
count := n / 2 // 所有偶数都不要,还剩几个数
// 跳过了1、2 3、5、7、
for i := 3; i*i < n; i += 2 {
if f[i] {
continue
}
// 3 -> 3 * 3 = 9 3 * 5 = 15 3 * 7 = 21
// 7 -> 7 * 7 = 49 7 * 9 = 63
// 13 -> 13 * 13 13 * 15
for j := i * i; j < n; j += 2 * i {
if !f[j] {
count--
f[j] = true
}
}
}
return count
}

执行结果如下:


左神java代码

2021-10-25:计数质数。统计所有小于非负整数 n 的质数的数量。力扣204。的相关教程结束。

《2021-10-25:计数质数。统计所有小于非负整数 n 的质数的数量。力扣204。.doc》

下载本文的Word格式文档,以方便收藏与打印。