C언어/백준

1193번

twoweeks-within 2024. 11. 16. 19:01

1. 대각선의 개수는 분수의 개수랑 같음

2.  그때까지 대각선을 1부터 빼주고 대각선 ++

 

1. 홀수 대각선 : 분자 감소, 분모 증가

2. 짝수 대각선 : 분자 증가, 분모 감소

#include <stdio.h>

void find_fraction(int X) {
    int diagonal = 1;
    
    // X가 속한 대각선 번호를 찾기
    while (X > diagonal) {
        X -= diagonal;
        diagonal++;
    }
    
    // 대각선 번호에 따라 분수 계산
    int numerator, denominator;
    if (diagonal % 2 == 0) {
        // 짝수 대각선: 아래에서 위로
        numerator = X;
        denominator = diagonal - X + 1;
    } else {
        // 홀수 대각선: 위에서 아래로
        numerator = diagonal - X + 1;
        denominator = X;
    }

    // 결과 출력
    printf("%d/%d\n", numerator, denominator);
}

int main() {
    int X;
    scanf("%d", &X);  // 입력 받기
    find_fraction(X);  // X번째 분수 구하기
    return 0;
}

 

'C언어 > 백준' 카테고리의 다른 글

2581번, 11653번, 1085번, 3009번  (0) 2024.11.20
2869번, 5086번, 2501번, 9506번, 1978번  (0) 2024.11.19
2738번, 2566번, 2563번, 2745번  (0) 2024.11.14
25206번  (1) 2024.11.13
2941번 , 1316번  (0) 2024.11.13