보통 0명 해결 정답률 0%

List Primes With a Sieve

Find primes up to a limit by marking composite multiples.

문제

Return all prime numbers from 2 through limit. A prime is an integer greater than 1 divisible only by 1 and itself. Use the sieve idea: keep the next unmarked number and mark its larger multiples as composite. List results in ascending order.

Implement sieve_primes(limit).

Input

limit: The largest number that may be included.

Output

Return the primes in ascending order, or an empty list if none exist.

제약 조건

0 ≤ limit ≤ 100,000. The upper bound is inclusive. Output tests verify results, not the exact algorithm used.

예시

예시 1
입력:
limit = 12

예상 출력:
expected = [2, 3, 5, 7, 11]
입력:
long long limit = 12;

예상 출력:
std::vector<long long> expected = {2, 3, 5, 7, 11};
입력:
long limit = 12;

예상 출력:
long[] expected = new long[] {2, 3, 5, 7, 11};

설명

Mark multiples of 2 and 3 as composite. The remaining values up to 12 are 2, 3, 5, 7, and 11.

예시 2
입력:
limit = 1

예상 출력:
expected = []
입력:
long long limit = 1;

예상 출력:
std::vector<long long> expected = {};
입력:
long limit = 1;

예상 출력:
long[] expected = new long[] {};

설명

Prime numbers begin at 2, beyond this limit.

참고 자료

이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.

다른 사람의 풀이 보기

커뮤니티 솔루션

아직 공개된 풀이가 없습니다. 문제를 풀고 첫 풀이를 공유하세요.