C Programming

C언어 피보나치 수열 출력하기 - 공부하는 도비

DOVISH WISDOM 2022. 10. 31. 14:31  
728x90
반응형

2022.10.28 - [C언어] - [C언어] 재귀 함수를 사용한 피보나치 수열 - 공부하는 도비

 

[C언어] 재귀 함수를 사용한 피보나치 수열 - 공부하는 도비

https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98 피보나치 수 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 피보나치 수를 이용한 사각형 채우기 수학에서..

yang-wistory1009.tistory.com

저번 피드에서 재귀 함수를 이용하여, 입력한 수에 대한 피보나치 수를 계산해보았습니다. 

오늘은 재귀함수 대신, 배열을 사용한 피보나치 수열 계산에 대해 알아보려고 합니다. 

 

입력받은 수의 길이 만큼 새로운 배열을 만들고, 그 배열 안에 피보나치 수열을 삽입하고 출력하는 코드입니다. 

 

#include <stdio.h>

void fibo(int a)
{
    int arr[a];
    
    for (int i = 0; i< a; i++)
    {
        if (i <= 1)
        {
            arr[i] = 1;
        }
        else
        {
            arr[i] = arr[i-2] + arr[i-1];
        }
        printf("%d ", arr[i]);
    }
}

int main()
{
    fibo(11);

    return 0;
}

결과

- 원하는 정수를 입력하여, 배열 출력 

// 원하는 정수 입력
int main()
{
    int num;
    scanf("%d", &num);
    
    fibo(num);

    return 0;
}

- main에서 배열 선언 후, fibo 함수의 매개변수로 선언 한 배열 사용

#include <stdio.h>

void fibo(int a, int arr[])
{
    
    for (int i = 0; i< a; i++)
    {
        if (i <= 1)
        {
            arr[i] = 1;
        }
        else
        {
            arr[i] = arr[i-2] + arr[i-1];
        }
    }
}

int main()
{
    int num;
    scanf("%d", &num);
    int arr[num];
    
    fibo(num, arr);
    
    for(int i = 0; i< num; i++)
    {
        printf("%d ", arr[i]);
    }
    
    return 0;
}

 

반응형