Я пытаюсь запрограммировать модуль для класса, но моя функция main () не работает, я предполагаю, что код верен, но когда я ввожу число, оно просто переходит на следующую строку, не останавливает выполнение и просто позволяет мнедля ввода дальнейших чисел, переходя к следующей строке после - до бесконечности.
Я вхожу в основную функцию python, но я все еще в замешательстве.
# Uses python3
import sys
def get_fibonacci_last_digit_naive(n):
if n <= 1:
return n
previous = 0
current = 1
for _ in range(n - 1):
previous, current = current, previous + current
return current % 10
def fast_fibL(b):
a = []
a.append(0)
a.append(1)
n = 0
if (b == 0):
return 0
if (b == 1):
return 1
for i in range(b):
c = a[i] + a[i + 1]
a.append(c)
n += 1
return(a[n])
def get_fib_last_digit_fast(e):
b = fast_fibL(e)
return b % 10
def main():
input = sys.stdin.read()
n = int(input)
print(get_fib_last_digit_fast(n))
if __name__ == '__main__':
main()
Я ожидаю, что код вернет последнюю цифру n-го введенного числа Фибоначчи.