본문 바로가기
백준 알고리즘

[백준 알고리즘] 1193번 분수찾기

by ChocoPeanut 2017. 5. 17.

분수 찾기


무한히 큰 배열에 다음과 같이 분수들을 적혀있다.

1/11/21/31/41/5
2/12/22/32/4
3/13/23/3
4/14/2
5/1

이와 같이 나열된 분수들을 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.

X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.


#include <iostream>

using namespace std;


int main()

{

int x;

cin >> x;

int i;

for (i = 1; x > 0; i++)

{

x = x - i;

}

if (i%2 == 1)

{

cout << i + x-1 << "/" << 1 - x << endl;

}

else if (i % 2 == 0)

{

cout << 1-x << "/" << i+x-1 << endl;

}


}

댓글1

  • 서정필 2018.02.11 00:40

    어떻게 이런 간략한 코드를 작성할 수 있었는지..
    코드를 봐도 어떻게 해서 이런 코드가 나왔는지 이해가 가질 않습니다.
    어떤 생각을 적용한건 지 가르쳐 주실 수 있으신가요?
    답글