/ Published in: C
Expand |
Embed | Plain Text
#include<stdio.h> #define MAX 200 /* F0 = 1. F1 = 1. Fn = Fn-1 + Fn-2 */ int fibonacciRecursive(int n) { if(n == 0) return 0; if(n == 1) return 1; else return fibonacciRecursive(n-1) + fibonacciRecursive(n-2); } int fibonacciIterative(int n) { int a = 0; int b = 1; int fib; if(n == 0) return a; if(n == 1) return b; for(int i = 2; i <= n; i++) { fib = a + b; a = b; b = fib; } return fib; } int fibonaccis[MAX]; int fibonacciMemoization(int n) { if(n == 0) return 0; if(n == 1) return 1; if(fibonaccis[n]) return fibonaccis[n]; else { fibonaccis[n] = fibonacciMemoization(n-1)+ fibonacciMemoization(n-2); return fibonaccis[n]; } } int main() { for(int i = 0; i < MAX; i++) fibonaccis[i] = 0; return 0; } /* F0 = 0 F2 = 1 F8 = 21 F13 = 233 F16 = 987 F19 = 4181 F20 = 6765 */
You need to login to post a comment.
