Я новичок ie здесь. Если я что-то делаю неправильно, покажите мне терпимость.
Я пытался решить эту проблему: Problem_Picture_1 Problem_Picture_2
Мое первое решение не помогло работа:
# Uses python3
import sys
# Uses python3
def get_fibonacci_last_digit(n):
fib = [0, 1]
if n <= 1:
return n
for i in range(2, n):
current = (fib[i-1] + fib[i-2]) % 10
fib.append(current)
return fib[-1]
n = int(input())
if __name__ == '__main__':
input = sys.stdin.read()
n = int(input)
print(get_fibonacci_last_digit(n))
Но мое второе решение сработало:
# Uses python3
def calc_fib(n):
fib = [0, 1]
if n <= 1:
return n
for i in range(2, n+1):
current = (fib[i-1] + fib[i-2]) % 10
fib.append(current)
return fib[-1]
n = int(input())
print(calc_fib(n))
В чем разница между этими двумя подходами? Почему не сработало мое первое решение? Пожалуйста, объясните мне.
Изменить: Когда я использовал свой первый подход, он все еще работает. Он не мог вернуть число
Когда я работал со своим первым подходом, он мог вернуть число