× Home
Next Lec → ← Previous Lec

Recursion Excersice

Fibonacci Series → Adding up the two numbers before it → 0, 1, 1, 2, 3, 5, 8, 13, 21....

I tried and it kinda works

                    

                        #include <stdio.h>

                            int main()
                            {
                            
                                int num;
                                int first, second;
                                printf("Enter the number of fib series you want : ");
                                scanf("%d", &num);
                                int fib[num];
                                // fib_recursive(num);
                                for (int i = 0; i < num; i++)
                                {
                                    if (i == 0)
                                    {
                                        fib[0] = 0;
                                    }
                                    else if (i == 1)
                                    {
                                        fib[1] = 1;
                                    }
                                    // else if(i==2)
                                    // {
                                    // fib[2]=1;
                                    // }
                                    else
                                    {
                                        first = fib[i - 1];
                                        second = fib[i - 2];
                                        fib[i] = first + second;
                                    }
                                }
                                for (int i = 0; i < num; i++)
                                {
                                    printf("%d\n", fib[i]);
                                }
                            }
                    
                
                        

                            #include <stdio.h>
                                int fib_recursive(int n)
                                {
                                   if(n==1||n==2)
                                   {
                                     return n-1;
                                   }
                                   else
                                   {
                                     return fib_recursive(n-1)+fib_recursive(n-2);
                                   }
                                return 0;
                                }
                                int fib_iterative(int n)
                                {
                                int a=0;
                                int b=1;
                                for(int i=0;i<n-1;i++)
                                {
                                b=a+b;
                                a=b-a; //old b
                                }
                                return a;
                                }
                                int main()
                                {
                                int number=0;
                                printf("Enter the index to get fibonacci series : ");
                                scanf("%d", &number);
                                printf("\nThe value of fibonacci number at position no %d using iterative approach is %d",number, fib_iterative(number));
                                printf("\nThe value of fibonacci number at position no %d using fibonacci approach is %d",number, fib_recursive(number));
                                return 0;
                                }