본문 바로가기
책/Do it! 알고리즘 코딩 테스트 자바 편

Day-12 소수 구하기

by 댈팽이 2024. 4. 4.
728x90

1. 소수

  • 소수는 자신보다 작은 2개의 자연수를 곱해 만들 수 없는 1보다 큰 자연수를 말한다.
  • 같은 의미로 1과 자기 자신 외에 약수가 존재하지 않는 수이다.

2. 에라토스테네스의 체 원리

에라토스테네스의 체를 이용하여 소수인지 판별할 수 있다.

  1. 구하고자 하는 소수의 범위만큼 1차원 배열 생성
  2. 2부터 시작하며 현재 숫자가 지워지지 않았으면, 현재 선택된 숫자의 배수를 배열을 탐색하며 삭제
    현재 선택한 숫자는 지우지 않음
  3. 배열의 끝까지 과정 2를 반복
  4. 반복이 끝난 후 남아 있는 수는 모두 소수이다.

3. 예제 문제

 

[1929] 소수 구하기 (JAVA)

# 문제 설명 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상

spicyrisotto.tistory.com


 

[1978] 소수 찾기 (JAVA)

# 문제 설명 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000

spicyrisotto.tistory.com

728x90