hahn

단계별로 풀어보기(기본 수학2 - 소수) 본문

코딩테스트 연습/백준(JAVA)

단계별로 풀어보기(기본 수학2 - 소수)

hahn 2021. 8. 24. 20:01
728x90
반응형

2581번: 소수 (acmicpc.net)

 

2581번: 소수

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

www.acmicpc.net

더보기
import java.util.Scanner;

class Main{
    
    public static void main(String[] args){
        
        Scanner sc = new Scanner(System.in);
        
        int m, n,
        	min = 0,
        	sum = 0;
        
        boolean check;
        
        m = sc.nextInt();
        n = sc.nextInt();
        
        for(int i = m; i <= n; i++){
        	
            check = true;
            
            for(int j = 2; j < i; j++){
                
                if(i % j == 0){
                    check = false;
                    break;
                }
                
            }
            
            if(check) {
            	
            	if(min == 0) min = i;
            	sum += i;
            	
            }
            
        }
        
        if(min == 0 || (m == 0 && n ==1) || (m == 1 && n ==1)) {
        	System.out.println(-1);
        }else {
        	 if(m == 1 || m == 0) {
        		 sum--;
        		 min = 2;
             }
        	System.out.println(sum);
        	System.out.println(min);
        }
        
    }
    
}

그냥 막 풀다가 계속 틀리길래

 

알고보니 예외 경우 생각 안 해서 그런거였음.

 

원래 여러 케이스 생각해보고 푸는데

 

계속 하다보니 잊네?

728x90
반응형