[백준 JAVA] 2581번 풀이 - 소수
by mini_minpackage risk.demon;
import java.util.Scanner;
/**
* 소수
* 2581번
* : m과 n이 주어질 때, m이상 n 이하 자연수 중에 소수를 모두 골라 이들의 합과 최솟값을 찾으시오.
* 1. 첫 줄에 m, 둘째줄에 n이 주어진다.
* 1. 첫 줄에 합, 둘째줄에 최솟값을 적으시오. 만약, 소수가 없으면 -1을 출력
*
*/
public class _2581 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
int sum = 0;
int min = 0;
for ( int i = m; i <= n; i++ )
{
int count = 0;
for ( int j = 1; j <= i; j++ )
{
if ( i % j == 0 )
{
count++;
}
}
if ( count == 2 && min == 0 )
{
sum += i;
min = i;
}
else if ( count == 2 )
{
sum += i;
}
}
if ( sum == 0 )
{
System.out.println(-1);
}
else
{
System.out.println(sum);
System.out.println(min);
}
sc.close();
}
}
풀이
최소값은 초기 min 값이 0인 부분을 이용하기 !
'매일매일 알고리즘 공부' 카테고리의 다른 글
[백준 JAVA] 3009번 풀이 - 네 번째 점 (0) | 2023.07.10 |
---|---|
[백준 JAVA] 11653번 풀이 - 소인수분해 (0) | 2023.07.06 |
[백준 JAVA] 1978번 풀이 - 소수 찾기 (0) | 2023.07.05 |
[백준 JAVA] 9506번 풀이 - 약수들의 합 (0) | 2023.07.04 |
[백준 JAVA] 2501번 풀이 - 약수 구하기 (0) | 2023.07.04 |
블로그의 정보
개발자 미니민의 개발로그
mini_min