본문 바로가기
C/중간고사 대비 (2022 1학기)

[C 백준] 브론즈 /2748번 피보나치수 2

by Meaning_ 2022. 3. 10.
728x90
반응형

https://www.acmicpc.net/problem/2748

 

2748번: 피보나치 수 2

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include<stdlib.h>
 
 
int main() {
    int num;
    scanf("%d"&num);
 
    long long * fibo = (long long*)calloc(num+1,sizeof(long long ));
    fibo[0= 0;
    fibo[1= 1;
    
    for (int i = 2; i <= num; i++) {
        fibo[i] = fibo[i - 1+ fibo[i - 2];
    }
    printf("%lld", fibo[num]);
 
    free(fibo);
 
}
cs

 

이건 진짜 DP기초인데 뭐 어려워서가 아니라 %lld 라고 서식지정하는 걸 기억해야해서 글을 썼다.

아 그리고 동적할당할때 malloc말고 calloc으로 해줘야한다. calloc은 배열을 동적할당 할때 0으로 초기화 해준다!

 

728x90
반응형

댓글