카테고리 없음
[C언어] 피보나치(fibonacci) 수열 출력함수
s뽈록이s
2013. 1. 25. 12:21
void fibonacci(int su) { int arr[2] = {0, 1}, i, temp; printf("%d\t", arr[0]); if(su > 1)printf("%d\t", arr[1]); temp = arr[0] + arr[1]; arr[0] = arr[1]; arr[1] = temp; for(i = 0; i < su - 2; i++) { temp = arr[0] + arr[1]; printf("%d\t", temp); arr[0] = arr[1]; arr[1] = temp; } } void main() { int su; back: printf("출력할 피보나치 수열의 갯수 : "); scanf("%d", &su); if(su < 1) { printf("잘못된 갯수를 입력하셨습니다.\n"); goto back; } fibonacci(su); }
프로그램 실행화면
피보나치 수열을 출력하는 함수를 만들었다. 피보나치 수열을 출력하는 갯수는 1이상이어야 한다. 이를 검사하고 피보나치 함수의 매개변수로 그 값을 넘겨준다. 피보나치 수열은 이 전에 출력되어진 두 개의 수를 더한 값이 이번에 출력할 값이 되는 수열이다.
그래서 두 개의 수를 기억하고 있어야 하기 때문에 arr[2]를 사용했다. 그리고 이번에 출력할 값을 계산 후 저장하고 순서에 맞게 arr[2]에 집어 넣기 위해 temp를 사용했다. 간단히 구현할 수 있는 피보나치 수열이다.