C# 백준 4948번 베트르탕 공준
2022. 1. 3. 17:03ㆍ코딩테스트 문제 풀이/[백준] 기본 수학2
728x90
반응형
코드 :
using System;
namespace _5
{
internal class Program
{
static void Main(string[] args)
{
while(true)
{
int input = Convert.ToInt32(Console.ReadLine());
if (input == 0)
break;
int num = 0;
for (int i = input+1; i <= input * 2; i++)
{
if (i == 1)
continue;
if (i == 2 | i == 3)
num += 1;
if (i % 2 == 0)
continue;
double sqrt = Math.Truncate(Math.Sqrt(i));
//제곱근 이하의 수에서 나누어 떨어지지 않으면 소수이므로 제곱근의 버림값을 저장
for (int j = 2; j <= sqrt; j++)
{
if (i % j == 0)
{
break;
}
else
{
if (j == sqrt)
{
num += 1;
}
}
}
}
Console.WriteLine(num);
}
}
}
}
코드는 그 위에 문제였던 소수 구하기의 코드와 사실 거의 똑같다.
그 코드에서 for문의 범위만 다르게 지정해주면 끝이다.
기본수학2는 소수문제가 많아 앞에 문제를 효율적으로 풀면 뒤에 문제는 술술 풀린다는 특징이 있다.
728x90
반응형
'코딩테스트 문제 풀이 > [백준] 기본 수학2' 카테고리의 다른 글
C# 백준 1085번 직사각형에서 탈출 (0) | 2022.01.03 |
---|---|
C# 백준 9020번 골드바흐의 추측 (0) | 2022.01.03 |
C# 백준 1929번 소수 구하기 stringBuilder활용 (0) | 2022.01.03 |
C# 백준 11653번 소인수분해 (0) | 2022.01.03 |
C# 백준 2581번 소수 (0) | 2022.01.03 |