Разбор кода и решение задач по функции F(n) и G(n)
На скриншоте показаны функции F(n) и G(n). Разберем, как работают эти функции.
def F(n):
if (n > 3):
return F(n-2) + G(n-1)
else:
return n
def G(n):
if (n > 2):
return G(n-2) + F(n-1)
else:
return n-1
Определим значения функций F и G для заданных параметров:
F(5)
G(4)
Для вычисления F(5) и G(4) сначала надо определить значения промежуточных вызовов:
F(5):
F(5) = F(3) + G(4)
F(3) = 3 (так как n <= 3)
G(4):
G(4) = G(2) + F(3)
G(2) = 1 (так как n <= 2)
F(3) = 3 (так как n <= 3)
G(4) = 1 + 3 = 4
Итак, F(5) = 3 + 4 = 7.
G(4):
Мы уже вычислили G(4) как часть предыдущих вычислений: G(4) = 4.
Теперь проверим ответ на вопрос 29 и 30.
Для F(5) мы получили 7 (правильный ответ должен быть среди предложенных).
Для G(4) мы получили 4 (правильный ответ также среди предложенных).
Разбор строки и строковых методов
Рассмотрим следующий код:
s = "Informatika"
s1 = "75837"
print(s[4:7] + s1[:3])
print(s1.index("8"))
print(s.replace("info", "Matem"))
Пояснения:
s[4:7] извлекает подстроку с индекса 4 по 6 включительно из строки s. Это "orma".
s1[:3] извлекает подстроку с начала до индекса 3 (не включительно) из строки s1. Это "758".
Конкатенация двух подстрок даст "orma758".
s1.index("8") возвращает индекс первого вхождения "8" в строку s1. Это 2 (индексация с нуля).
s.replace("info", "Matem") заменяет первое вхождение подстроки "info" на "Matem". Результат: "Matematika".
Вывод программы будет:
orma758
2
Matematika
Остальное в скринах, ПОМОГИТЕ ПОЖАЛУЙСТА