Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C의 피보나치 수 프로그램

<시간/>

'n' 숫자로 주어진 작업은 0에서 n까지 피보나치 수열을 생성하는 것입니다. 여기서 정수의 피보나치 수열은

0, 1, 1, 2, 3, 5, 8, 13, 21, 34

여기서 정수 0과 1은 고정 공간을 가지며, 그 뒤에 두 자리가 추가됩니다. 예를 들어

0+1=1(3rd place)
1+1=2(4th place)
2+1=3(5th place) and So on

피보나치 수열의 시퀀스 F(n)은 −

로 정의된 반복 관계를 갖습니다.
Fn = Fn-1 + Fn-2
Where, F(0)=0 and F(1)=1 are always fixed

fiboacce 시리즈를 생성하는 데 사용할 수 있는 여러 접근 방식이 있을 수 있습니다. −

재귀적 접근 방식 − 여기에서 접근 함수는 모든 정수 값 후에 자신을 호출합니다. 간단하고 구현하기 쉽지만 시간 복잡성이 기하급수적으로 늘어나 이 접근 방식을 비효율적으로 만듭니다.

For 루프 사용 − For 루프를 사용하여 피보나치 급수 생성 시간 복잡도를 O(n)으로 줄일 수 있으므로 이 접근 방식이 효과적입니다.

Input-: n=10
Output-: 0 1 1 2 3 5 8 13 21 34

알고리즘

Start
Step 1 -> Declare function for Fibonacci series
   Void Fibonacci(int n)
      Declare variables as int a=0,b=1,c,i
      Print a and b
      Loop For i=2 and i<n and ++i
         Set c=a+b
         Print c
         Set a=b
         Set b=c
      End
Step 2 -> In main()
   Declare int as 10
   Call Fibonacci(n)
Stop

#include<stdio.h>
void fibonacci(int n){
   int a=0,b=1,c,i;
   printf("fibonacci series till %d is ",n);
   printf("\n%d %d",a,b);//it will print 0 and 1
   for(i=2;i<n;++i) //loop starts from 2 because 0 and 1 are the fixed values that series will take{
      c=a+b;
      printf(" %d",c);
      a=b;
      b=c;
   }
}
int main(){
   int n=10;
   fibonacci(n);
   return 0;
}

출력

fibonacci series till 10 is
0 1 1 2 3 5 8 13 21 34