mirror of
https://github.com/cubixle/codekata-golang.git
synced 2026-04-30 18:18:45 +01:00
10001st prime
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
count := 0
|
||||||
|
n := 0
|
||||||
|
for {
|
||||||
|
if count == 10001 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
n++
|
||||||
|
pf := PrimeFactorsOf(n)
|
||||||
|
if len(pf) == 1 {
|
||||||
|
count++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("10001st prime is", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
func PrimeFactorsOf(n int) []int {
|
||||||
|
ret := make([]int, 0)
|
||||||
|
divider := 2
|
||||||
|
for divider < n {
|
||||||
|
for n%divider == 0 {
|
||||||
|
ret = append(ret, divider)
|
||||||
|
n /= divider
|
||||||
|
}
|
||||||
|
divider++
|
||||||
|
}
|
||||||
|
if n > 1 {
|
||||||
|
ret = append(ret, n)
|
||||||
|
}
|
||||||
|
return ret
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user