반응형
[ 문제 ]
정수 n(0 ≤ n ≤ 4*10^9)가 주어졌을 때, n보다 크거나 같은 소수 중 가장 작은 소수 찾는 프로그램을 작성하시오.
[ 코드 ]
using System.Text;
StreamReader sr = new StreamReader(new BufferedStream(Console.OpenStandardInput()));
StreamWriter sw = new StreamWriter(new BufferedStream(Console.OpenStandardOutput()));
StringBuilder sb = new StringBuilder();
int n = int.Parse(sr.ReadLine());
for (long i = 0; i < n; i++)
{
long num = long.Parse(sr.ReadLine());
for (long j = num; ; j++)
{
if (j <= 1) continue;
if (j <= 3)
{
sb.AppendLine($"{j}");
break;
}
if (j % 2 == 0 || j % 3 == 0) continue;
bool isPrime = true;
for (long k = 5; k * k <= j; k += 6)
{
if (j % k == 0 || j % (k + 2) == 0)
{
isPrime = false;
break;
}
}
if (isPrime)
{
sb.AppendLine($"{j}");
break;
}
}
}
sw.Write(sb.ToString());
sw.Flush();
sw.Close();
sr.Close();
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/4134
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 13909번 창문 닫기 (0) | 2024.03.04 |
---|---|
[C#] 백준 4948번 베르트랑 공준 (0) | 2024.03.03 |
[C#] 백준 2605번 줄 세우기 (0) | 2024.03.03 |
[C#] 백준 1233번 주사위 (0) | 2024.03.03 |
[C#] 백준 1297번 TV 크기 (0) | 2024.03.02 |