백준
[백준] 1193번 분수찾기 | C
ris
2025. 1. 6. 19:40
이번 문제는 줄을 찾고 몇번째에 있는지 확인하는 문제였다.
규칙성
1. 각 라인의 분자, 분모의 합은 동일하다.
2. 홀수 라인은 우상향하며 짝수 라인은 좌하향한다.
이 두가지를 지켜서 코드를 짜면 되는 문제였다.
visual studio에서 작업하여 scanf 가 scanf_s로 바뀐 것만 바꿔주면 정답 코드이다.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
int line = 1;
scanf_s("%d", &x);
int i = 1;
while (x - i > 0) { // line 수, 몇 번재인지 구하기
x -= i;
i += 1;
line += 1;
}
if (line % 2 == 0) { // 짝수는 좌하향, 홀수는 우상향
printf("%d/%d", x, line + 1 - x);
}
else {
printf("%d/%d", line + 1 - x, x);
}
return 0;
}