체리의 하루
Published 2023. 4. 17. 15:44
[Go] BOJ / 4134번 / 다음 소수 BOJ/Go

💻 문제

 

4134번: 다음 소수

정수 n(0 ≤ n ≤ 4*109)가 주어졌을 때, n보다 크거나 같은 소수 중 가장 작은 소수 찾는 프로그램을 작성하시오.

www.acmicpc.net

 

📜 풀이

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

func Prime(num int) bool {
	for i := 2; i*i <= num; i++ {
		if num%i == 0 {
			return false
		}
	}
	return true
}

func main() {
	var t, n int
	var p bool

	s := bufio.NewScanner(os.Stdin)
	w := bufio.NewWriter(os.Stdout)

	s.Scan()
	t, _ = strconv.Atoi(s.Text())

	for i := 0; i < t; i++ {
		s.Scan()
		n, _ = strconv.Atoi(s.Text())

		if n == 0 || n == 1 {
			fmt.Fprintln(w, 2)
			continue
		}
		if Prime(n) == true {
			fmt.Fprintln(w, n)
		} else {
			for {
				n++
				p = Prime(n)
				if p == true {
					fmt.Fprintln(w, n)
					break
				}
			}
		}
	}
	w.Flush()
}

 

 

 

728x90

'BOJ > Go' 카테고리의 다른 글

[Go] BOJ / 13909번 / 창문 닫기  (0) 2023.04.17
[Go] BOJ / 4948번 / 베르트랑 공준  (0) 2023.04.17
[Go] BOJ / 1929번 / 소수 구하기  (0) 2023.04.17
[Go] BOJ / 1735번 / 분수 합  (1) 2023.04.12
[Go] BOJ / 13241번 / 최소공배수  (0) 2023.04.12