mirror of
https://github.com/cubixle/codekata-golang.git
synced 2026-04-24 21:24:46 +01:00
42 lines
643 B
Go
42 lines
643 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
func main() {
|
|
solution()
|
|
}
|
|
|
|
func solution() {
|
|
limit := 1000000
|
|
notPrime := make([]int, limit)
|
|
var primes []int
|
|
notPrime[0] = 1
|
|
notPrime[1] = 1
|
|
|
|
for i := 2; i < limit; i++ {
|
|
if notPrime[i] == 0 {
|
|
primes = append(primes, i)
|
|
for j := i * i; j < limit; j += i {
|
|
notPrime[j] = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
maxSum := 0
|
|
maxRun := -1
|
|
for i := 0; i < len(primes); i++ {
|
|
sum := 0
|
|
for j := i; j < len(primes); j++ {
|
|
sum += primes[j]
|
|
if sum >= limit {
|
|
break
|
|
}
|
|
if notPrime[sum] == 0 && sum > maxSum && j-i > maxRun {
|
|
maxRun = j - i
|
|
maxSum = sum
|
|
}
|
|
}
|
|
}
|
|
fmt.Println("max sum:", maxSum)
|
|
}
|