백준 온라인 코딩 문제풀이
Baekjoon Online Judge
Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.
www.acmicpc.net
코드 참고
wny0320 (박 상운)
Run code live in your browser. Write and run code in 50+ languages online with Replit, a powerful IDE, compiler, & interpreter.
replit.com
1929번에 대해 다룸
1929
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
int[] Input= Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
List<bool> NotPrime = new List<bool>(new bool[Input[1] + 1]);
NotPrime[1] = true;
for (int i = 2; i * i <= Input[1]; i++)
{
if(NotPrime[i] == false)
{
for(int j = i+i; j <= Input[1]; j += i)
{
NotPrime[j] = true;
}
}
}
if (Input[1] == 4)
{
NotPrime[2] = false;
NotPrime[4] = true;
}
for (int i = Input[0]; i <= Input[1]; i++)
{
if(NotPrime[i] == false)
{
Console.Write(i + "\n");
}
}
}
}
시간제한이 빡빡해서 에라토스테네스의 체를 이용하여 풀은 문제
0~Input[1] 즉 n에 해당하는 수까지 List<bool>을 생성
List<bool>(new bool[Input[1] + 1])을 통하여 기본값 false로 리스트를 채움
1은 소수가 아니므로 NotPrime[1] = true
다음은 에라토스테네스의 체로 거름
에라토스테네스의 체에 대한 내용
https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
Sieve of Eratosthenes - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search Ancient algorithm for generating prime numbers Sieve of Eratosthenes: algorithm steps for primes below 121 (including optimization of starting from prime's square). In mathematics, the
en.wikipedia.org
이후 n이 4라면 반복문을 넘어가기 때문에 2를 소수로, 4를 소수가 아니게 설정
'BaekJoon' 카테고리의 다른 글
2차원 배열 2738 (0) | 2022.12.21 |
---|---|
기본 수학 2단계 4948 (0) | 2022.11.01 |
기본 수학 2단계 11653 (0) | 2022.10.30 |
기본 수학 2단계 2581 (0) | 2022.10.29 |
기본 수학 2단계 1978 (0) | 2022.10.28 |