long long fib_recursive(long long n,long long m) { if(n==1) { return 0; } if(n==2) { return 1%m; } return ((fib_recursive(n-1,m)%m)+(fib_recursive(n-2,m)%m))%m; //making recursive calls }
unsigned int fib_recursive(unsigned int num1, unsigned int num2, unsigned int n) { return ((n < 3) ? num2 : fib_recursive(num2, num1 + num2, --n)); }
unsigned int fib(unsigned int n) { return ((n == 0) ? 0 : fib_recursive(1, 1, n)); }