• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

소수 에라토스테네스 체 이런 풀이 방법도 괜찮을까요?

22.05.09 22:08 작성 조회수 218

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
package Array;
import java.util.*;
/**
 * 소수에라토스테네스체
 */
public class 소수에라토스테네스체 {
    public static int solution(int n){
        int answer=0;
        boolean [] solo = new boolean[n+1];
        solo[0]=true;
        solo[1]=true;
        for(int i=2;i<=n;i++){
            if(solo[i]==false)
                answer++;
            for(int j=i*i;j<=n;j+=i){
                solo[j]=true;
            }
        }
        // int[] ch = new int[n+1];
        // for(int i=2;i<ch.length;i++){
        //     if(ch[i]==0){
        //         answer++;
        //         for(int j=i;j<=n;j+=i){
        //             ch[j]=1;
        //         }
        //     }
        //}
        return answer;
    }
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        System.out.println(solution(n));
    }
    
}
boolean배열을 사용해서 true인 경우는 소수가 아니라 판단을 하여주였습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 좋은 코드네요.