- toc {:toc}
λ¬Έμ
무νν ν° λ°°μ΄μ λ€μκ³Ό κ°μ΄ λΆμλ€μ΄Β μ νμλ€.

μ΄μ κ°μ΄ λμ΄λ λΆμλ€μ 1/1 β 1/2 β 2/1 β 3/1 βΒ 2/2 β β¦ κ³Ό κ°μ μ§κ·Έμ¬κ·Έ μμλ‘ μ°¨λ‘λλ‘ 1 λ², 2 λ², 3 λ², 4 λ², 5 λ², β¦ λΆμλΌκ³ νμ.
X κ° μ£Όμ΄μ‘μ λ, X λ²μ§Έ λΆμλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ X(1 β€ X β€ 10,000,000) κ° μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ λΆμλ₯Ό μΆλ ₯νλ€.
μΆμ²:https://www.acmicpc.net/problem/1193
νμ΄
(μ¬μ€ κ΅°λ λκΈ°μ λμμ λ°μ μμ΄λμ΄λ₯Ό μ»μλ€.)
μ΄ λ¬Έμ λ μ§κ·Έμ¬κ·Έμ μμλ‘ μ΄λνμ¬ λΆμλ₯Ό μ ννλ€.
λλ¬Έμ / μ κ°μ΄ λκ°μ μΌλ‘ λλμ΄ λ³΄λ©΄ 1 λ²μ§Έμ 1 κ°, 2 λ²μ§Έμ 2 κ°, 3 λ²μ§Έμ 3 κ°λ‘ μ€λ§λ€ +1 μ© λμ΄λλ€. μ΄ λΆλΆμμ μκ·Έλ§λ₯Ό μ¬μ©ν΄μΌ νλ€λ μ μ μ°Ύμλ€.
- μκ·Έλ§λ₯Ό μ¬μ©νμ¬ μ«μλ₯Ό μ νν΄μΌ νλ μ€μ΄ λͺ λ²μ§Έ μ€μΈμ§λ₯Ό μ°ΎμλΈλ€.
- X-βm μ ν΅ν΄μ κ·Έ μ€μ μ΄λ μμΉμ μλμ§ μ°ΎμλΈλ€.
- μμΉλ₯Ό μ°ΎμλΌ λ νμλ μλμμ μλ‘, μ§μλ μμμ μλλ‘ λ΄λ €κ°λ€λ μ μ μ£Όμν΄μΌ νλ€.
EX) X=17 μ΄λΌκ³ νλ©΄ m=5 κ° λλ€. 17 λ³΄λ€ μμ βm μ 15 μ΄κΈ° λλ¬Έ. 17-15=2 λ‘ X κ° μλ μμΉλ 6 λ²μ§Έ μ€μ 2 λ²μ§Έ μμΉμ μλ€λ κ²μ μ μ μλ€.
#include <iostream>
using namespace std;
int main()
{
int x, m=1, midValue, numerator, denominator;
cin >> x;
while((m*m+m)/2<x)
{
m++;
}
m--;
midValue = x-((m*m+m)/2);
if((m+1)%2==0) // μ€κ°κ°μ΄ μ§μμΌ λ
{
numerator = 1;
denominator = m+1;
for(int i=1; i<midValue; i++)
{
numerator++;
denominator--;
}
}
else
{
numerator = m+1;
denominator = 1;
for(int i=1; i<midValue; i++)
{
numerator--;
denominator++;
}
}
cout << numerator << "/" << denominator << endl;
return 0;
}μ½λκ° μλ μ€κ΅¬λλ°© λλ¬μμ λ€λ₯Έ νμ΄λ₯Ό μ°Έκ³ νλ©΄μ κ°κ²°νκ² μμ±νλ λ°©λ²μ μκ°ν΄λ΄μΌ ν κ² κ°λ€.