Информатика пәнінен № 814 тапсырма: Алгоритмдер және программалау (Функция, Рекурсия, жолдармен жұмыс, файлдармен жұмыс, сұрыптау, граф)

Алгоритмдер және программалау (Функция, Рекурсия, жолдармен жұмыс, файлдармен жұмыс, сұрыптау, граф)Бір жауап · орташа

Python тілінде рекурсивті функция берілген:

def f(n):
if n < 3:
return n
return f(n - 1) + 2 * f(n - 3)

print(f(6)) орындалғаннан кейін бағдарлама қандай мәнді шығарады?

  1. A18
  2. B16
  3. C8
  4. D12
Жауап пен талдауды көрсетуЖауап пен талдауды жасыру

Дұрыс жауап

  • D12

Талдау

Базалық жағдай: n < 3 болғанда функция n мәнін қайтарады, сондықтан f(0) = 0, f(1) = 1, f(2) = 2. Одан әрі f(n) = f(n-1) + 2·f(n-3) формуласы бойынша: f(3) = f(2) + 2·f(0) = 2 + 0 = 2; f(4) = f(3) + 2·f(1) = 2 + 2 = 4; f(5) = f(4) + 2·f(2) = 4 + 4 = 8; f(6) = f(5) + 2·f(3) = 8 + 4 = 12. «8» — бұл f(5) мәні, «16» f(n-3) орнына f(n-2) шақырғанда шығады, «18» f(0) = 1 деп алғанда шығады. Дұрыс жауап — «12».

Тапсырмадағы қате

Шартындағы, нұсқаларындағы немесе талдауындағы қатені сипаттаңыз. 1000 таңбадан аспасын.

Осы тақырып бойынша ұқсас тапсырмалар

Тақырыптағы барлық 3 тапсырма

«Информатика» пәні бойынша репетиторлар

Тренажер

Осы тақырыпты жаттықтырыңыз

3 тапсырма бір-бірден, жауабы мен талдауы бірден көрсетіледі. Уақыт шектеуі жоқ.

Өз сынағыңыз

Таймері бар сынақ жинаңыз

ҰБТ сияқты: тапсырмаға 2 минут.

Неше тапсырма