https://www.acmicpc.net/problem/1193
#전체 코드
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
public class Program
{
public static void Main()
{
int input = int.Parse(Console.ReadLine());
int nd=0,nm=0,nDemo=1,nMole=0,ndCount=0,nmCount=0;
//input이 1일때의 예외상황을 추가해주자
if(input == 1)
{
Console.WriteLine("1/1");
}
else
{
while (ndCount < input)
{
if (nd == 0) //첫번쨰항인 1을 추가해주자
{
ndCount++;
//Console.WriteLine("{0}!! nd", nd+1);
}
if (nd == 1)//끝나고 시작할때 부족한 1을 추가해주자
{
ndCount++;
//Console.WriteLine("{0}!! nd", nd);
}
nDemo += 2;
while (nd < nDemo)
{
if (ndCount == input)
{
break;
}
nd++;
ndCount++;
//Console.WriteLine("{0}// nd {1} //ndCount", nd,ndCount);
}
while (nd > 1)
{
if (ndCount == input)
{
break;
}
nd--;
ndCount++;
//Console.WriteLine("{0}// nd {1} //ndCount", nd, ndCount);
}
}
while (nmCount < input)
{
if (nm == 1) //첫번째항 보충할 필요없이 끝날때의 1만 추가해주자
{
nmCount++;
//Console.WriteLine("{0}!! nm", nm);
}
nMole += 2;
while (nm < nMole)
{
if (nmCount == input)
{
break;
}
nm++;
nmCount++;
//Console.WriteLine("{0}]] nm", nm);
}
while (nm > 1)
{
if (nmCount == input)
{
break;
}
nm--;
nmCount++;
//Console.WriteLine("{0}]] nm", nm);
}
}
if (ndCount >= input && nmCount >= input)
{
Console.WriteLine("{0}/{1}", nd, nm);
//Console.ReadKey();
}
}
//Console.ReadKey();
}
}
'[백준] > C#' 카테고리의 다른 글
백준 1152번 단어의 개수 [C#] (0) | 2023.08.05 |
---|---|
백준 1110번 더하기 사이클 [C#] (0) | 2023.08.05 |
백준 1065번 한수 [C#] (2) | 2023.08.05 |