#include /*int func(int i) { int j = i; if (j==0) return 0; else return func(j-1)+j; }*/ int main() { int i; printf("%i \n", even(1)); printf("%i \n", even(2)); printf("%i \n\n", even(3)); printf("%i \n", add(5, 21)); printf("%i \n", add(-5, 5)); printf("%i \n\n", add(256, 1024)); printf("%i \n", add2(5, 21)); printf("%i \n", add2(-5, 5)); printf("%i \n\n", add2(256, 1024)); printf("%i \n", slow_pow(2, 2)); printf("%i \n", slow_pow(2, 4)); printf("%i \n\n", slow_pow(2, 10)); //calc fib series (uses array on stack) printf("%i ", fib(0)); printf("%i ", fib(1)); printf("%i ", fib(2)); printf("%i ", fib(3)); printf("%i ", fib(4)); printf("%i ", fib(5)); printf("%i ", fib(6)); printf("%i ", fib(7)); printf("%i ", fib(8)); printf("%i \n", fib(9)); //create integer array on heap long int* array = (long int*)malloc(45*4); fib2(array, 40); //pass array pointer to fib2 for (i=0; i<15; i++) printf("%d ", array[i]); printf("... %i %i \n\n", array[39], array[40]); printf("%i \n", recurse(0)); printf("%i \n", recurse(1)); printf("%i \n", recurse(2)); printf("%i \n", recurse(3)); printf("%i \n", recurse(4)); printf("%i \n\n", recurse(5)); printf("%i \n", pow(2,2)); printf("%i \n", pow(2,3)); printf("%i \n", pow(2,4)); printf("%i \n\n", pow(2,5)); printf("%i \n", pow(3,2)); printf("%i \n", pow(3,3)); printf("%i \n", pow(3,4)); printf("%i \n\n", pow(3,5)); return 0; }