262_尚硅谷_goroutine的引出
1.goroutine 需求
2.传统方法,使用一个循环,循环的判断各个数是不是素数_代码
package main
import (
"fmt"
"math"
"time"
)
// todo 1) 传统方法,使用一个循环,循环的判断各个数是不是素数
func isPrime(num int) bool {
if num <= 1 {
return false
}
if num == 2 {
return true
}
if num%2 == 0 {
return false
}
// 只需检查到平方根即可
limit := int(math.Sqrt(float64(num)))
for i := 3; i <= limit; i += 2 {
if num%i == 0 {
return false
}
}
return true
}
func main() {
startTime := time.Now()
count := 0
fmt.Println("1-15000000之间的素数:")
for i := 1; i <= 15000000; i++ {
if isPrime(i) {
count++
fmt.Printf("%5d ", i)
if count%10 == 0 {
fmt.Println()
}
}
}
elapsedTime := time.Since(startTime)
fmt.Printf("\n\n共找到 %d 个素数\n", count)
fmt.Printf("耗时:%v\n", elapsedTime)
}
3.运行结果耗时
浙公网安备 33010602011771号