Commit 1b55b531 authored by Chris's avatar Chris
Browse files

expressing fibonacci as long long to get bigger numbers (overflowing still is possible though)

parent 2f112076
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ linked_list_item **fibonacci_head = &fibonacci_first_element;

// create the ability to calculate next value on demand based on the current linked list

unsigned int get_fibonacci_value_at(unsigned int index) {
unsigned long long get_fibonacci_value_at(unsigned int index) {
    fibonacci_head = &fibonacci_first_element;

    unsigned int current_i = 0;
+1 −1
Original line number Diff line number Diff line
@@ -6,6 +6,6 @@
#ifndef FIBONACCI_STEP_SEARCH_FIBONACCI_OPS_H
#define FIBONACCI_STEP_SEARCH_FIBONACCI_OPS_H

unsigned int get_fibonacci_value_at(unsigned int index);
unsigned long long get_fibonacci_value_at(unsigned int index);
unsigned int next_fibonacci_number(unsigned int a, unsigned int b);
#endif //FIBONACCI_STEP_SEARCH_FIBONACCI_OPS_H
 No newline at end of file
+4 −2
Original line number Diff line number Diff line
@@ -31,8 +31,10 @@ int main(void) {
    // }

    // -> here's a fibonacci number test
    for (unsigned int i = 0; i < 10; i++) {
        printf("fibonacci number: %d \n", get_fibonacci_value_at(i));
    //      note the inefficiency: with a singly linked list, get_fibonacci_value_at() always works linearly
    //      todo as improvement, keep a doubly linked list & retain current index + value for shorter moves
    for (unsigned int i = 0; i < 100; i++) {
        printf("fibonacci number: %lld \n", get_fibonacci_value_at(i));
    }

    return 0;