티스토리 뷰

전에 포스팅했던 소수찾기 문제에서 조금 더 업그레이드된 소수문제!
소수를 찾는 것에서 소수의 합과 최솟값을 찾는 것이 더해졌다.
package boj_basic.step8;
import java.util.Scanner;
public class Q2581 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int M = sc.nextInt();
int N = sc.nextInt();
int num = 0;
int[] arr = new int[10001];
int sum = 0;
for(num = M; num<=N; num++) {
if(num == 1)
arr[num]=1;
else if (num >=2) {
for(int i = 2; i<num; i++) {
if(num % i == 0)
arr[num]=1;
}
}
}
int min = 10000;
for(int i = M; i<=N; i++) {
if(arr[i]==0)
sum += i;
}
if(sum == 0)
System.out.println("-1");
else {
System.out.println(sum);
for(int i = M; i<=N; i++) {
if(arr[i]==0) {
if(min > i)
min = i;
}
}
System.out.println(min);
}
}
}
소수가 아닌것들을 배열에 1로 넣고, 입력한 범위 안에서 소수인 것들(배열에서 0인것들)의 합을 구해주고, min을 이용하여 값들을 비교하여 최솟값을 찾아주면 된다. sum이 0일때와 0이 아닐때를 if else문으로 작성하여 입력한 범위 내에 소수가 없으면 -1을 출력해주도록 했다.
'알고리즘' 카테고리의 다른 글
| 백준 #1929 java 2023.01.25 (3) | 2023.01.25 |
|---|---|
| 백준 #11653 java 2023.01.24 (1) | 2023.01.24 |
| 백준 #1978 java 2022.01.23 (0) | 2023.01.23 |
| 백준 #2563 java 2022.01.22 (2) | 2023.01.22 |
| 백준 #2566 java 2023.01.22 (5) | 2023.01.22 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 다이나믹 프로그래밍
- 지연로딩
- 영속
- 스프링
- 북마크
- 로그아웃
- SQLD
- 비영속
- 백준
- JPA
- 자바
- SQL 레벨업
- 커뮤니티
- EnumType.ORDINAL
- 스프링부트
- 자바 스프링
- 준영속
- 웹MVC
- 파이썬
- elasticsearch
- 회원탈퇴
- 스프링 커뮤니티
- 프론트엔드
- 스프링 북마크
- SQL
- 웹 MVC
- 로깅
- 인텔리제이
- 백준 파이썬
- DP
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함