728x90
using System;
class Program
{
static void Main(string[] args)
{
int M = int.Parse(Console.ReadLine());
int N = int.Parse(Console.ReadLine());
int min = 0; int sum = 0;
bool[] arr = new bool[N + 1];
bool ok = false;
for (int i = M; i <= N; i ++)
{
for (int j = 2; j < i; j++)
{
ok = false;
if (i % j == 0)
break;
else
ok = true;
}
if (ok | i == 2)
arr[i] = true;
}
for (int i = M; i <= N; i ++)
{
if (arr[i])
{
sum += i;
if (min == 0)
min = i;
}
}
if (sum == 0)
Console.WriteLine(-1);
else
{
Console.WriteLine(sum);
Console.WriteLine(min);
}
}
}
M과 N을 받아 N크기만한 bool 배열을 만들고 순서대로 소수를 체크한 뒤 소수이면 true, 아니면 false를 넣었다. 최소값은 배열 값이 true인 것 중 처음 만나는 아이다. true인 값을 더하는데 이때 sum이 0이라는 뜻은 true인 아이가 하나도 없다는 뜻이므로 -1을 출력한다.
728x90
'언어 > C#' 카테고리의 다른 글
[C#] 백준 10989번 : StreamReader (0) | 2023.01.18 |
---|---|
[C#] 백준 1929번 : 에라토스테네스의 체 방식(빠르게 소수 찾기) (0) | 2023.01.15 |
[C#] 백준 10757번 : 큰 수를 다룰 땐 BigInteger를 활용하자 (0) | 2023.01.12 |
[C#] 백준 2839번 (0) | 2023.01.12 |
[C#] 백준 2292번 (0) | 2023.01.10 |