๐ ๋ฌธ์
๐ ํด๊ฒฐ ๋ฐฉ๋ฒ
๊ทธ๋ฆผ๋ง ๋ณด๊ณ ์๋๋๊ธฐ ์ฝ์ง๋ง... ๊ณ์ฐจ์์ด ๊ณต์์ด ์์ง ๋จธ๋ฆฌ์ ๋จ์์๋ค๋ฉด ๋น ๋ฅด๊ฒ ํ ์ ์๋ ๋ฌธ์ ์๋ค.
์ฐ์ 1๋ฒ ๋ฐฉ์์ ํน์ ๋ฐฉ์ผ๋ก ์ด๋ํ๊ธฐ ์ํด ๋ช๊ฐ์ ๋ฐฉ์ ์ง๋์ผ ํ๋์ง๋ฅผ ํ์ธํด๋ณด์.
1๋ฒ ๋ฐฉ๋ถํฐ 1๋ฒ ๋ฐฉ : 1๊ฐ
1๋ฒ ๋ฐฉ๋ถํฐ 2~7๋ฒ ๋ฐฉ : 2๊ฐ
1๋ฒ ๋ฐฉ๋ถํฐ 8~19๋ฒ ๋ฐฉ : 3๊ฐ
.
.
.
์ฆ, 1๊ฐ์ ๋ฐฉ๋ง ๊ฑฐ์น ์ ์๋ ๋ฐฉ ๋ฒํธ์ ๋ง์ง๋ ธ์ ์ 1๋ฒ,
2๊ฐ์ ๋ฐฉ๋ง ๊ฑฐ์น๋ฉด ๋๋ ๋ฐฉ ๋ฒํธ์ ๋ง์ง๋ ธ์ ์ 7๋ฒ,
3๊ฐ์ ๋ฐฉ๋ง ๊ฑฐ์น๋ฉด ๋๋ ๋ฐฉ ๋ฒํธ์ ๋ง์ง๋ ธ์ ์ 19๋ฒ,
...
์ด ์ซ์๋ค์ ์ผ๋ ฌ๋ก ๋์ดํด ๋ณด๋ฉด
์์ ๊ฐ์ ๊ท์น์ด ์๊ธด๋ค.
์ฆ, an์ ๊ณต์ฐจ๋ ๊ณ์ฐจ์์ด์ ์ด๋ฃจ๊ณ ์์ผ๋ฏ๋ก ๊ณ์ฐจ์์ด ๊ณต์์ ์ฌ์ฉํด์ an์ ๊ตฌํ ๋ค
์ ๋ ฅ๋ฐ์ ์ซ์๊ฐ a(n)๊ณผ a(n + 1)๋ฒ์งธ ์ฌ์ด์ ์๋์ง ํ์ธํด์ฃผ๋ฉด ๋๋ค.
bn์ 6n์ด๋ผ๋ ๋ฑ์ฐจ์์ด์ ์ด๋ฃจ๊ณ ์๊ณ ,
์ด๋ฅผ ๊ณ์ฐจ์์ด ๊ณต์์ ๋ฃ์ผ๋ฉด
an = 1 + 3n(n - 1) ์ด ๋์จ๋ค!
n = 1 : an = 1
n = 2 : an = 7
์ด๋ฏ๋ก ์ ๋ ฅ๋ฐ์ ๊ฐ์ด an๊ณผ ์ผ์นํ๋ค๋ฉด n์ ์ถ๋ ฅํ๋ฉด ๋๊ณ ,
an๋ณด๋ค๋ ํฌ์ง๋ง a(n+1)๋ณด๋ค๋ ์๊ฑฐ๋ ๊ฐ์ ๋ฒ์์ ์๋ค๋ฉด n+1์ ์ถ๋ ฅํ๋ฉด ๋๋ค!
๐ ๋ด ์ฝ๋
Ver.1(C)
//[2292] ๋ฒ์ง
// https://www.acmicpc.net/problem/2292
#include <stdio.h>
int main(void)
{
int n;
scanf("%d", &n);
for (int i = 1;; i++) {
if ((1 + 3 * i*(i - 1)) == n) {
printf("%d\n", i);
break;
}
else if ((1 + 3 * i*(i - 1)) < n && n <= (1 + 3 * (i + 1)*i)) {
printf("%d\n", i + 1);
break;
}
}
}
Ver.2(C++)
//[2292] ๋ฒ์ง
// https://www.acmicpc.net/problem/2292
#include <iostream>
using namespace std;
int main(void)
{
int n;
cin >> n;
for (int i = 1;; i++) {
if ((1 + 3 * i*(i - 1)) == n) {
cout << i << endl;
break;
}
else if ((1 + 3 * i*(i - 1)) < n && n <= (1 + 3 * (i + 1)*i)) {
cout << i + 1 << endl;
break;
}
}
}
'Baekjoon > ์ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[1076] ์ ํญ(C) (0) | 2020.04.01 |
---|---|
[2442] ๋ณ ์ฐ๊ธฐ - 5 (0) | 2020.04.01 |
[1094] ๋ง๋๊ธฐ (0) | 2020.03.01 |
[1193] ๋ถ์์ฐพ๊ธฐ (0) | 2020.02.29 |
[1475] ๋ฐฉ ๋ฒํธ (0) | 2020.02.09 |