
Untitled
By: a guest on
May 5th, 2012 | syntax:
None | size: 0.88 KB | hits: 7 | expires: Never
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
unsigned int fib(unsigned int n);
int main() {
char input[10];
clock_t start, end;
unsigned int n, times_to_run = 10;
unsigned int a, i;
double average;
while (1) {
n = 1;
average = 0;
printf("\nN = ");
scanf("%u", &n);
if (n == 0) break;
for(i=0; i<times_to_run; i++) {
start = clock();
a = fib(n);
end = clock() - start;
average += (double)end;
}
average /= times_to_run;
printf("Term %u is: %u\nComputation took ~%f clock cycles", n, a, average);
}
return 0;
}
unsigned int fib(unsigned int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fib(n - 1) + fib(n - 2);
}
}