본문 바로가기
Solution_/백준 Algorithm

[백준 2747] 피보나치 수 _ c language

by 낭람_ 2018. 5. 28.
반응형

n 번째피보나치 수를 출력하면 된다. 

피보나치 수는 0, 1, 1, 2, 3, 5, 8 ... 이런순으로 되어있으며, last는 이전의 수 cur는 현재의 수 tmp는 그 다음 나올 수 이다.

따라서 다음 나올 수 = 현재의 수 + 이전의 수 _ tmp = cur + last 이며 last에 cur을 넣고 cur에 tmp를 넣으면 되는 문제이다.

#include<stdio.h>

int main() {
int num, tmp, i;
int last = 0;
int cur = 1;

scanf("%d", &num);

if (num < 2) {
if (num == 0) printf("0");
else printf("1");
}

else {
for (i = 0; i<num-1; i++) {
tmp = cur + last;
last = cur;
cur = tmp;
}
printf("%d", tmp);
}

return 0;
}


반응형

댓글