go学习记录


算法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
获取大于指定数字n的最小质数
遍历2到根号n的数字,出现能够整除的就不是质数,遍历到根号n的原因是,大于根号n的数字,如果存在能被整除的数字,被除后的数字肯定小于根号n,也就是被遍历过判定为不是质数的,也就不需要继续遍历了

func FindSmallestPrimeLargerThan(n int) int {
n++
for {
success := true
for i := 2; i*i < n; i++ { // 从2开始遍历,到根号n的数字,期间没有能被整除的数字,证明n是质数
if n%i == 0 { //如果能被整除,不是质数,n+1进入下一个循环
success = false
break
}
}

if success {
return n
}
n++
}
return n
}