Files
prime-generator/main.go
T
2026-08-31 16:28:12 +07:00

36 lines
659 B
Go

package main
import (
"flag"
"fmt"
"log"
"os"
)
const (
defaultLimit = 1_000_000_000
defaultOutput = "primes.txt"
)
func main() {
limit := flag.Int("n", defaultLimit, "upper limit, inclusive, to sieve")
out := flag.String("out", defaultOutput, "output file path")
flag.Parse()
f, err := os.Create(*out)
if err != nil {
log.Fatalf("create %s: %v", *out, err)
}
defer f.Close()
count, err := writePrimes(f, sieve(*limit))
if err != nil {
log.Fatalf("write %s: %v", *out, err)
}
if err := f.Close(); err != nil {
log.Fatalf("close %s: %v", *out, err)
}
fmt.Printf("Wrote %d prime numbers up to %d to %s\n", count, *limit, *out)
}