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.
 
 
 
 
 
 

52 lines
689 B

package main
import (
"fmt"
"os"
"strconv"
"github.com/01-edu/z01"
)
func isPrime(nb int) bool {
if nb <= 0 || nb == 1 {
return false
}
if nb <= 3 {
return true
}
if nb%2 == 0 || nb%3 == 0 {
return false
}
i := 5
for i*i <= nb {
if nb%i == 0 || nb%(i+2) == 0 {
return false
}
i += 6
}
return true
}
func main() {
if len(os.Args) != 2 {
z01.PrintRune('0')
z01.PrintRune('\n')
} else {
argument, _ := strconv.Atoi(os.Args[1])
if argument < 0 {
z01.PrintRune('0')
z01.PrintRune('\n')
} else {
result := 0
for ; argument >= 0; argument-- {
if isPrime(argument) {
result += argument
}
}
fmt.Println(result)
}
}
}