#include <stdio.h>
#include <time.h>
int recursiveFibonacci(int n) {
if (n <= 1) {
return n;
} else {
return recursiveFibonacci(n - 1) + recursiveFibonacci(n - 2);
}
}
int iterativeFibonacci(int n) {
if (n <= 1) {
return n;
}
int prev = 0, current = 1;
for (int i = 2; i <= n; ++i) {
int temp = current;
current = current + prev;
prev = temp;
}
return current;
}
int main() {
int n = 40;
clock_t start = clock();
int recursiveResult = recursiveFibonacci(n);
clock_t end = clock();
printf("Recursive Fibonacci: %d\n", recursiveResult);
printf("Recursive Time: %f seconds\n", ((double)end - start) / CLOCKS_PER_SEC);
start = clock();
int iterativeResult = iterativeFibonacci(n);
end = clock();
printf("Iterative Fibonacci: %d\n", iterativeResult);
printf("Iterative Time: %f seconds\n", ((double)end - start) / CLOCKS_PER_SEC);
return 0;
}