본문 바로가기
Algorithm/C++

[백준 1003] 피보나치 함수

by imagineer_jinny 2022. 10. 12.

1003번: 피보나치 함수 (acmicpc.net)

 

 

 

내 풀이

#include <bits/stdc++.h>
using namespace std;

int fibo[42][2];
int main(void) {
  ios::sync_with_stdio(0);
  cin.tie(0);

    fibo[0][0]=1;
    fibo[0][1]=0;
    fibo[1][0]=0;
    fibo[1][1]=1;
    
     for (int i = 2; i <= 40; i++) {
        fibo[i][0] = fibo[i - 1][0] + fibo[i - 2][0];
        fibo[i][1] = fibo[i - 1][1] + fibo[i - 2][1];
      }
    
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
    
        cout<<fibo[n][0]<< " " <<fibo[n][1]<<'\n';
        
    }
   
    return 0;
}

 

정답 풀이

#include <bits/stdc++.h>
using namespace std;

int fibo[42][2];
int main(void) {
  ios::sync_with_stdio(0);
  cin.tie(0);

  fibo[0][0] = 1;
  fibo[1][1] = 1;
  for (int i = 2; i <= 40; i++) {
    fibo[i][0] = fibo[i - 1][0] + fibo[i - 2][0];
    fibo[i][1] = fibo[i - 1][1] + fibo[i - 2][1];
  }
  int T;
  cin >> T;
  while (T--) {
    int N;
    cin >> N;
    cout << fibo[N][0] << " " << fibo[N][1] << endl;
  }
}
/*
1. 테이블 정하기
fibo[i][k] = 숫자 i가 k(0 or 1)를 호출한 횟수
2. 점화식 찾기
fibo[i][k] = fibo[i - 1][k] + fibo[i - 2][k]
3. 초기값 정하기
fibo[0][0] = 1, fibo[1][1] = 1
*/

'Algorithm > C++' 카테고리의 다른 글

[백준 11727] 2 x n 타일링 2  (0) 2022.10.12
[백준 1932] 정수 삼각형  (0) 2022.10.12
[백준 1026] 보물  (0) 2022.10.11
[백준 2217] 로프  (0) 2022.10.11
[백준 1931] 회의실 배정  (0) 2022.10.11

댓글