-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbineter.py
executable file
·38 lines (27 loc) · 1 KB
/
bineter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python3
########################################################################################################################
# Purpose: get even Fibonacci numbers using Binet's formula
# Programmer: Andrew Art
########################################################################################################################
import math
def f(quant: int=0) -> int:
'''Print even numbers from the Fibonacci sequence.
:param quant: required quantity of even Fibonacci numbers
:returns: status (0 if successful)
'''
if isinstance(quant, int) != True or quant <= 0:
print("Invalid argument")
return 1
phi = (1 + math.sqrt(5)) / 2
even_counter = 0
fib_index = 0
while even_counter < quant:
F_i = round(pow(phi, fib_index) / math.sqrt(5))
if even_counter != 0:
print(", ", end="", flush=True)
print(str(F_i), end="", flush=True)
even_counter += 1
fib_index += 3
print("")
return 0
f(4)