diff options
Diffstat (limited to 'rushs/tinyprintf/fibo_iter/fibo_iter.c')
| -rw-r--r-- | rushs/tinyprintf/fibo_iter/fibo_iter.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/rushs/tinyprintf/fibo_iter/fibo_iter.c b/rushs/tinyprintf/fibo_iter/fibo_iter.c new file mode 100644 index 0000000..36ebf46 --- /dev/null +++ b/rushs/tinyprintf/fibo_iter/fibo_iter.c @@ -0,0 +1,21 @@ +#include <stdio.h> + +unsigned long fibo_iter(unsigned long n) +{ + if (n == 0) + { + return 0; + } + unsigned long prev = 1; + unsigned long pprev = 0; + unsigned long i; + + for (i = 1; i < n; i++) + { + unsigned long next = pprev + prev; + pprev = prev; + prev = next; + } + + return prev; +} |
