시간&메모리 제한
문제
입력&출력
문제풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int M = Integer.parseInt(br.readLine());
int ans=0;
int min=Integer.MAX_VALUE;
for (int i = N; i <= M; i++) {
if(i==1) {
continue;
}
int sq = (int)Math.sqrt(i);
boolean flag = false;
for (int j = 2; j <= sq; j++) {
if(i%j==0) {
flag=true;
break;
}
}
if(flag==false) {
ans+=i;
min = Math.min(min, i);
}
}
if(ans==0) {
System.out.println(-1);
}else {
System.out.println(ans);
System.out.println(min);
}
}
}
- N~M까지의 소수의 합과 소수중의 최솟값을 출력하는 문제입니다.
- ans 즉 소수의 갯수가 0 개 이면 값은 -1을 출력하면 됩니다.
- 소수를 구하는 범위는 sqrt를 이용해서 범위를 줄일 수 있습니다.
'Algorithm > 정올 알고리즘' 카테고리의 다른 글
정올_2604 그릇(자바) / 문자열 (0) | 2021.07.01 |
---|---|
정올_1510 색종이 올려 놓기(자바) / 동적 계획법 (0) | 2021.07.01 |
정올_1370 회의실 배정(자바) / 탐욕 알고리즘 (0) | 2021.06.30 |
정올_2811 소수와 합성수(자바) / 수학2 (0) | 2021.06.29 |
정올_1214 히스토그램(자바) / 자료구조 (0) | 2021.06.29 |