๐ฆฅ ์ฝํ
/BAEKJOON
[BAEKJOON C++] 2748_ํผ๋ณด๋์น ์ 2
์ง์ง์ํ์นด
2023. 7. 2. 15:29
728x90
๋ฐ์ํ
ํผ๋ณด๋์น ์๋ 0๊ณผ 1๋ก ์์ํ๋ค.
0๋ฒ์งธ ํผ๋ณด๋์น ์๋ 0์ด๊ณ , 1๋ฒ์งธ ํผ๋ณด๋์น ์๋ 1์ด๋ค.
๊ทธ ๋ค์ 2๋ฒ์งธ ๋ถํฐ๋ ๋ฐ๋ก ์ ๋ ํผ๋ณด๋์น ์์ ํฉ์ด ๋๋ค.
์ด๋ฅผ ์์ผ๋ก ์จ๋ณด๋ฉด Fn = Fn-1 + Fn-2 (n ≥ 2)๊ฐ ๋๋ค.
n์ด ์ฃผ์ด์ก์ ๋, n๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑ
์ ๋ ฅ
์ฒซ์งธ ์ค์ n์ด ์ฃผ์ด์ง๋ค. n์ 90๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์
์ถ๋ ฅ
์ฒซ์งธ ์ค์ n๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ์ถ๋ ฅํ๋ค
// [2748] ํผ๋ณด๋์น ์ 2
/*
ํผ๋ณด๋์น ์๋ 0๊ณผ 1๋ก ์์ํ๋ค.
0๋ฒ์งธ ํผ๋ณด๋์น ์๋ 0์ด๊ณ , 1๋ฒ์งธ ํผ๋ณด๋์น ์๋ 1์ด๋ค.
๊ทธ ๋ค์ 2๋ฒ์งธ ๋ถํฐ๋ ๋ฐ๋ก ์ ๋ ํผ๋ณด๋์น ์์ ํฉ์ด ๋๋ค.
์ด๋ฅผ ์์ผ๋ก ์จ๋ณด๋ฉด Fn = Fn-1 + Fn-2 (n ≥ 2)๊ฐ ๋๋ค.
n์ด ์ฃผ์ด์ก์ ๋, n๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑ
์
๋ ฅ
์ฒซ์งธ ์ค์ n์ด ์ฃผ์ด์ง๋ค. n์ 90๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์
์ถ๋ ฅ
์ฒซ์งธ ์ค์ n๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ์ถ๋ ฅํ๋ค
*/
// ํ์ค ์คํธ๋ฆผ์์ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ๋ฅผ ์ ์ดํ๋ ๊ฐ์ฒด๋ฅผ ์ ์ธ
#include <iostream>
using namespace std;
// N์ด ์ปค์ง์๋ก ๊ฐ์ด ๊ธ์๋๋ก ์ฆ๊ฐํ๋ฏ๋ก ์๋ฃํ์ long long์ ์ฌ์ฉ
long long fiboarr[100] = { 0,1, };
long long fibo(int n)
{
if (n == 0 || n == 1)
return fiboarr[n];
else if (fiboarr[n] == 0)
fiboarr[n] = fibo(n - 1) + fibo(n - 2);
return fiboarr[n];
}
int main() {
int n;
cin >> n;
cout << fibo(n);
return 0;
}
728x90
๋ฐ์ํ