백준 1193 분수찾기 / C++

이유참치·2025년 7월 31일

백준

목록 보기
14/249

문제 : 1193

풀이 point

규칙을 찾는 문제이다.
대각선을 기준으로 생각해보면

이런 형태로 순서가 진행된다.
결국 홀수 대각선과 짝수 대각선은 서로 분자와 분모의 진행 상태가 반대가 되버린다.

풀이 방법

while문을 진행하면서 홀수인지 짝수인지를 구분하고 분자와 분모의 상태를 정해준다.

코드

//백준 1193, 분수찾기

#include <iostream>

int main(){

    int x;
    std::cin >> x;
    int i;

    while(x > i){
        x-=i;
        ++i;
    }
    if(i % 2 == 0) std::cout << x << '/' << i+1-x;
    else std::cout << i+1-x << '/' << x;


    return 0;
}

사족

이거 왜 for문으로 하면 좀 이상할까...

// for(i = 1; i<4000; ++i){
    //     x -= i;
    //     if(x < i) break;
        
    // }

2025-01-18T04:50:30.322Z

profile
임아리 - 대학생

0개의 댓글