자바 이론

[JAVA] 소수 찾는 로직

easy-6 2025. 3. 26. 03:17

 

공부를 하다가 소수를 찾는 로직을 작성하게 되었다.

아래의 코드는 소수(primeNumber)를 찾는 코드이다.

public class Find_primeNumber {
    // 소수 판별 함수: 소수이면 1, 아니면 0 반환
    public static int s(int num) {
        for (int i = 2; i < num; i++) {
            if (num % i == 0) {
                return 0;
            }
            /* 
            --if문의 실행부를 감싸는 {}가 없을 때는 다음의 한 줄만 영향을 받음
            if (num % i == 0 ) 
              return 0 ;
            */
        }
        return 1;
    }
    
    public static void main(String[] args) {
        int num = 10;
        int cnt = 0;
        // 2부터 9까지 각 숫자에 대해 소수 여부를 검사
        for (int i = 2; i < num; i++) {
            cnt += s(i);
            System.out.println(cnt);
        }
    }
}

 

 

코드 해석

=> 해당 코드는 S(10)을 넣어 함수 s의 내부 반복문( for(i=2; i<num;  i++){ } )을 실행하며 for문에서는 num 2부터 num‑1까지의 i로 나눔.

만약 어떤 i에 대해 num % i 0이면, 즉시 return 0;이 실행되어 0을 반환하고 함수가 종료됨.

또한 for문 내에서 한 번도 num % i 0이 되는 경우가 없으면, for문이 모두 실행된 후 return 1;이 실행되어 1이 반환되며, 소수임을 나타냅니다.


요약

=> 내부 반복문을 돌면서 numi로 나머지 연산하여 나머지가 0인 경우 return 0을 통해 0을 반환하고 함수 종료

내부 반복문을 돌면서 numi로 나머지 연산하여 나머지가 0이 아닌 경우 내부반복문 종료 후 return 1을 통해 1을 반환 후 함수 s() 종료

 

 

'자바 이론' 카테고리의 다른 글

[JAVA] 배열과 리스트의 차이 toString()  (0) 2025.04.02
[Java] non-static 클래스 (내부 클래스)  (0) 2025.03.21
[java]HttpServletRequest  (0) 2024.12.12