๋ฐ์ํ
https://www.acmicpc.net/problem/1193
๋ฌธ์
๋ฌดํํ ํฐ ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ์๋ค์ด ์ ํ์๋ค.
1/1 | 1/2 | 1/3 | 1/4 | 1/5 | … |
2/1 | 2/2 | 2/3 | 2/4 | … | … |
3/1 | 3/2 | 3/3 | … | … | … |
4/1 | 4/2 | … | … | … | … |
5/1 | … | … | … | … | … |
… | … | … | … | … | … |
์ด์ ๊ฐ์ด ๋์ด๋ ๋ถ์๋ค์ 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … ๊ณผ ๊ฐ์ ์ง๊ทธ์ฌ๊ทธ ์์๋ก ์ฐจ๋ก๋๋ก 1๋ฒ, 2๋ฒ, 3๋ฒ, 4๋ฒ, 5๋ฒ, … ๋ถ์๋ผ๊ณ ํ์.
X๊ฐ ์ฃผ์ด์ก์ ๋, X๋ฒ์งธ ๋ถ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ X(1 ≤ X ≤ 10,000,000)๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ถ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
#include <iostream>
using namespace std;
int main () {
//์
๋ ฅ
int n;
cin >> n;
//๊ณ์ฐ
int first = 1, group = 1;
for(int i=1; true; i++){
if(n < first){
first -= i-1;
group--;
break;
}
first += i;
group++;
}
//์ถ๋ ฅ
if(group % 2 == 0)
cout << n-first+1 << "/" << group-n+first;
else
cout << group-n+first << "/" << n-first+1;
return 0;
}
๋ฐ์ํ
'๐ Cpp > [BOJ] ๋จ๊ณ๋ณ๋ก ํ์ด๋ณด๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 10250๋ฒ : ACM ํธํ (0) | 2021.10.15 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 2869๋ฒ : ๋ฌํฝ์ด๋ ์ฌ๋ผ๊ฐ๊ณ ์ถ๋ค (0) | 2021.10.12 |
[BOJ][C++] ๋ฐฑ์ค 2292๋ฒ : ๋ฒ์ง (0) | 2021.10.11 |
[BOJ][C++] ๋ฐฑ์ค 1712๋ฒ : ์์ต๋ถ๊ธฐ์ (0) | 2021.10.09 |
[BOJ][C++] ๋ฐฑ์ค 2941๋ฒ : ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2021.10.08 |