mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
756 B
49 lines
756 B
5 years ago
|
package main
|
||
|
|
||
|
import (
|
||
|
"strconv"
|
||
|
|
||
|
"github.com/01-edu/z01"
|
||
|
)
|
||
|
|
||
|
func isAPrime(nb int) bool {
|
||
|
if nb <= 0 || nb == 1 {
|
||
|
return false
|
||
|
}
|
||
|
if nb <= 3 {
|
||
|
return true
|
||
5 years ago
|
}
|
||
|
if nb%2 == 0 || nb%3 == 0 {
|
||
5 years ago
|
return false
|
||
|
}
|
||
|
|
||
|
i := 5
|
||
|
for i*i <= nb {
|
||
|
if nb%i == 0 || nb%(i+2) == 0 {
|
||
|
return false
|
||
|
}
|
||
5 years ago
|
i += 6
|
||
5 years ago
|
}
|
||
|
return true
|
||
|
}
|
||
|
|
||
5 years ago
|
func main() {
|
||
5 years ago
|
// adds random numbers
|
||
|
table := z01.MultRandIntBetween(1, 10000)
|
||
5 years ago
|
|
||
5 years ago
|
// fill with all prime numbers between 0 and 100
|
||
5 years ago
|
for i := 0; i < 100; i++ {
|
||
|
if isAPrime(i) {
|
||
5 years ago
|
table = append(table, i)
|
||
5 years ago
|
}
|
||
|
}
|
||
|
|
||
5 years ago
|
for _, i := range table {
|
||
|
z01.ChallengeMain("addprimesum", strconv.Itoa(i))
|
||
5 years ago
|
}
|
||
|
// special cases
|
||
5 years ago
|
z01.ChallengeMain("addprimesum")
|
||
|
z01.ChallengeMain("addprimesum", `""`)
|
||
|
z01.ChallengeMain("addprimesum", "1", "2")
|
||
5 years ago
|
}
|