From 00dd15b16f2629a8218220e88eab18afd09b7d44 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 19 Aug 2020 10:26:14 -0600 Subject: Tetiana optimized our fibonacci sequence calculator --- fib.c | 51 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/fib.c b/fib.c index fffd94f..15f1c81 100644 --- a/fib.c +++ b/fib.c @@ -1,35 +1,64 @@ #include #include +// data type +// unsigned int -> 0 -> (4294967296 - 1) +// int (-2147483648) --> (2147483648 - 1) +// long -> 8 byte integer + +// 18446744073709551616 // 1. base case -> ends the loops // 2. recurrence int fib(int n) { if (n <= 1) { - printf("%d: %d + %d = %d\n", n, n, n + n); + /*printf("%d: %d + %d = %d\n", n, n, n + n);*/ return n; } int y = fib(n - 2); int x = fib(n - 1); - printf("%d: %d + %d = %d\n", n, x, y, x+y); + /*printf("%d: %d + %d = %d\n", n, x, y, x+y);*/ return x + y; } int main(int argc, char *argv[]) { - assert(fib(-2) == 0); - assert(fib(-1) == 0); - assert(fib(0) == 0); - assert(fib(1) == 1); - assert(fib(2) == 1); - assert(fib(3) == 2); - assert(fib(4) == 3); - assert(fib(12) == 144); + /*printf("%d\n", sizeof(int));*/ + /*int x = 2147483648 - 1;*/ + + /*assert(fib(-2) == 0);*/ + /*assert(fib(-1) == 0);*/ + /*assert(fib(0) == 0);*/ + /*assert(fib(1) == 1);*/ + /*assert(fib(2) == 1);*/ + /*assert(fib(3) == 2);*/ + /*assert(fib(4) == 3);*/ + /*assert(fib(12) == 144);*/ + /*assert(fib(25) == 0);*/ + /*assert(fib(30) == 0);*/ + /*assert(fib(35) == 0);*/ + /*assert(fib(36) == 0);*/ + assert(fib(50) == 0); - printf("%d\n", fib(100)); + /*printf("%d\n", fib(100));*/ printf("YAY!\n"); return 0; } + +// 1 bytes => 8 bits +// 4 bytes => 32 bits +// +// +//5 +/** +35: 5702887 + 3524578 = 9227465 + + +36: 9227465 + 5702887 = 14930352 + +*/ + + -- cgit v1.2.3