체리의 하루
Published 2023. 3. 27. 13:50
[Go] BOJ / 2581번 / 소수 BOJ/Go

💻 문제

 

2581번: 소수

M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다.  단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.

www.acmicpc.net

 

📜 풀이

package main

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

func main() {
	var m, n, count, sum, min int

	r := bufio.NewReader(os.Stdin)
	w := bufio.NewWriter(os.Stdout)

	defer w.Flush()

	fmt.Fscanln(r, &m)
	fmt.Fscanln(r, &n)

	min = 10001

	for i := m; i <= n; i++ {
		count = 0
		for j := 1; j <= i; j++ {
			if i%j == 0 {
				count++
				if count > 2 {
					break
				}
			}
		}
		if count == 2 {
			if i < min {
				min = i
			}
			sum += i
		}
	}

	if min < 10001 {
		fmt.Fprintln(w, sum)
		fmt.Fprintln(w, min)
	} else {
		fmt.Fprintln(w, -1)
	}
}

 

 

 

728x90