728x90
출처-https://www.acmicpc.net/problem/2581
2581번: 소수
M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.
www.acmicpc.net


참고
소수를 찾는 방법은 'BOJ1978' 과 같은 방법을 사용했다.
import java.util.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner (System.in);
int m = scan.nextInt();
int n = scan.nextInt();
int count = 0;
int sum = 0;
int min = 0;
for (int i=m; i<=n; i++) {
int j;
for (j=2; j*j<=i; j++)
if (i % j == 0)
break;
if ((j*j > i)&&(i != 1)) {
sum += i;
if (count == 0)
min = i;
count++;
}
}
if (count == 0)
System.out.println(-1);
else {
System.out.println(sum);
System.out.println(min);
}
}
}728x90
'Problem Solving > BOJ' 카테고리의 다른 글
| [백준, BOJ 4948] 베르트랑 공준 (java) (0) | 2020.09.09 |
|---|---|
| [백준, BOJ 1929] 소수 구하기 (java) (0) | 2020.09.09 |
| [백준, BOJ 1978] 소수 찾기 (java) (0) | 2020.09.08 |
| [백준, BOJ 1011] Fly to the Alpha Centauri (java) (0) | 2020.09.06 |
| [백준, BOJ 2775] 부녀회장이 될테야 (java) (0) | 2020.09.06 |