๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœจ Algorithm

[๋ฐฑ์ค€/C++] 1193๋ฒˆ : ๋ถ„์ˆ˜์ฐพ๊ธฐ

by nitronium102 2021. 7. 24.

๋ฌธ์ œ

๋ฌดํ•œํžˆ ํฐ ๋ฐฐ์—ด์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„์ˆ˜๋“ค์ด ์ ํ˜€์žˆ๋‹ค.

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)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋ถ„์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

ํ’€์ด

01. ํ™€์ˆ˜๋ฒˆ์งธ ๋Œ€๊ฐ์„ ์—์„œ๋Š” ์•„๋ž˜๋กœ ์ฆ๊ฐ€, ์ง์ˆ˜๋ฒˆ์งธ ๋Œ€๊ฐ์„ ์—์„œ๋Š” ์œ„๋กœ ์ฆ๊ฐ€

02. i๋ฒˆ์งธ ์ค„์—์„œ ๋ถ„์ž์™€ ๋ถ„๋ชจ์˜ ํ•ฉ์€ (i+1)์ด๋‹ค.

์ด ๋‘ ๊ฐ€์ง€๋ฅผ ์ƒ๊ฐํ•˜๊ณ  ํ’€๋ฉด ๋œ๋‹ค.

#include <iostream>
using namespace std;

int main() {
	int N;
	cin >> N;

	int i = 1;
	while (N > i) {
		N -= i;
		i++;
	}

	if (i % 2 == 1)
		cout << i + 1 - N << '/' << N << endl;
	else
		cout << N << '/' << i + 1 - N << endl;
}

์ค‘๊ฐ„์— while๋ฌธ ๋Œ€์‹  for๋ฌธ์œผ๋กœ sum, i, num์„ ์ด์šฉํ•ด์„œ ์งœ๋ดค๋Š”๋ฐ ์™œ์ธ์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์•ˆ๋Œ์•„๊ฐ„๋‹ค...

์•ˆ ๋Œ์•„๊ฐ€๋ฉด ์ƒˆ๋กœ์šด ๋ฐฉ์‹์œผ๋กœ ๋น ๋ฅด๊ฒŒ ๊ฐˆ์•„ํƒ€๋Š” ์—ฐ์Šต์„ ํ•ด์•ผ๊ฒ ๋‹ค. ์ด์ƒํ•˜๊ฒŒ ์ง‘์ฐฉํ•˜๋‹ค๊ฐ€ ์‹œ๊ฐ„์„ ๋„ˆ๋ฌด ๋งŽ์ด ์Ÿ์•˜์Œ

 

๋Œ“๊ธ€