티스토리 뷰
문제
풀이
package main
import (
"bufio"
"fmt"
"os"
"math"
"sort"
)
func main() {
var m, n int
reader := bufio.NewReader(os.Stdin)
fmt.Fscanln(reader, &m,&n)
var primeNumber = make(map[int]bool, n-m+1)
for i:=m; i<n+1; i++ {
primeNumber[i] = true
}
if m == 1 {
primeNumber[m] = false
}
for i:=m; i<n+1; i++ {
var divisorCount int
if primeNumber[i] {
for j:=0; j<int(math.Sqrt(float64(i))); j++ {
if i%(j+1) == 0 {
divisorCount++
}
if divisorCount > 1 {
primeNumber[i] = false
// 에라토스테네스의 체
for k:=1; k*i< n+1 ; k++ {
primeNumber[k*i] = false
}
break
}
}
}
}
var keys []int
for i, v := range primeNumber {
if v {
keys = append(keys, i)
}
}
sort.Ints(keys)
for _, k := range keys {
fmt.Println(k)
}
}
728x90
'dev > algorithm' 카테고리의 다른 글
BOJ / 9020번 / 골드바흐의 추측 [Golang] (0) | 2020.05.11 |
---|---|
BOJ / 4948번 / 베르트랑 공준 [Golang] (0) | 2020.05.10 |
BOJ / 2581번 / 소수 [Golang] (3) | 2020.05.08 |
BOJ / 1978번 / 소수 찾기 [Golang] (0) | 2020.05.07 |
BOJ / 1011번 / Fly me to the Alpha Centauri [Golang] (0) | 2020.05.06 |
댓글