262_尚硅谷_goroutine的引出

1.goroutine 需求1.goroutine 需求

2.传统方法,使用一个循环,循环的判断各个数是不是素数_代码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.运行结果耗时3.运行结果耗时

posted on 2026-03-02 10:58  与太阳肩并肩  阅读(1)  评论(0)    收藏  举报

导航