규칙 찾기
https://www.acmicpc.net/problem/1193
문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다.
이와 같이 나열된 분수들을 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 X(1≤X≤10,000,000)가 주어진다. |
code>>
#include<iostream>
int main()
{
int x =1, y = 1;
int c = 1;
int input;
std::cin >> input;
for (int i = 1; i < input; i++)
{
x = x + c;
y = y + (c * -1);
if (y == 0)
{
y++;
c *= -1;
}
else if (x == 0)
{
x++;
c *= -1;
}
}
std::cout << y << "/" << x;
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
1874>스택 수열 (0) | 2017.11.25 |
---|---|
1158>조세퍼스 (0) | 2017.11.18 |
10799>쇠막대기 (0) | 2017.07.04 |
1475>방 번호 (0) | 2017.07.01 |
10250>ACM 호텔 (0) | 2017.07.01 |