diff --git a/fib/.fib02.py.swp b/fib/.fib02.py.swp new file mode 100644 index 0000000..1f28301 Binary files /dev/null and b/fib/.fib02.py.swp differ diff --git a/fib/fib01.py b/fib/fib01.py new file mode 100644 index 0000000..cf31212 --- /dev/null +++ b/fib/fib01.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +# coding=utf-8 + +def fib(n): + if n == 0: + return 0 + elif n == 1: + return 1 + else: + return fib(n-1) + fib(n-2) + +if __name__=="__main__": + n = fib(4) + print(n) diff --git a/fib/fib02.py b/fib/fib02.py new file mode 100644 index 0000000..1e1a653 --- /dev/null +++ b/fib/fib02.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +# utf-8 + +from math import sqrt + +def fib(n): + return ((1+sqrt(5))**n - (1-sqrt(5))**n)/(2**n*sqrt(5)) + +if __name__=="__main__": + f = fib(4) + print(f) diff --git a/fib/fib03.py b/fib/fib03.py new file mode 100644 index 0000000..68bf932 --- /dev/null +++ b/fib/fib03.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python +# utf-8 + +def fib(n): + f = [0, 1] + for i in range(n-2): + f.append(f[-2] + f[-1]) + return f + +if __name__ == "__main__": + lst = fib(4) + print(lst) diff --git a/fib/fib04.py b/fib/fib04.py new file mode 100644 index 0000000..b423e6b --- /dev/null +++ b/fib/fib04.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python +#utf-8 + +def fib(n): + a, b = 0, 1 + while n > 0: + a, b = b, a + b + n -= 1 + return a + +if __name__ == "__main__": + print(fib(4))