백준 2581 소수 JAVA

sundays·2023년 1월 6일
0

문제

소수

풀이

문제 풀이를 쓰다보니 느끼는건데 문제를 잘 분석해야 한다고 생각하면서 문제를 복기하는 방법을 따로 생각한 적이 없는 것 같다. 비슷한 문제들은 많고 기왕 복기를 하면서 쓰는 건데 비슷한 문제들을 한번에 정리하기엔 이런 방법이 좋지 않을까 생각해봤다

이 문제는 60이상 100이하의 자연수 중 소수를 구하여 소수의 합 최솟값을 구하는 문제이다
소수를 구하는 방법으로는 memorial배열을 사용할 방식도 있겠지만 내가 사용한 방법은 for문으로 2부터 Math.sqrt(i) 까지 나누어 떨어지는 값이 있을때 이 값은 소수가 아닌 것으로 판명한다

		for (int i = m; i <= n; i++) {
            if (i == 1) continue;
            boolean even = false;
            for (int j = 2; j <= Math.sqrt(i); j++) {
                if (i % j == 0) {
                    even = true;
                    break;
                }
            }
            if (!even) {
                sum += i;
                if (min == 0) {
                    min = i;
                }
            }
        }

전체 코드

전체 코드

profile
develop life

0개의 댓글