Перейти к содержимому
Задача · Функции как значения · урок 11 из 12

★ Задача: повторить функцию

Напишите функцию func repeat(f func(int) int, n int) func(int) int. Она возвращает функцию, которая применяет f к своему аргументу n раз подряд: repeat(f, 3)(x) — это f(f(f(x))).

  • repeat(inc, 3)(10) → 13, где inc прибавляет единицу
  • repeat(double, 4)(1) → 16, где double удваивает
  • repeat(double, 0)(7) → 7

Ограничения: n от 0 до 1000; сама repeat функцию f не вызывает — только возвращённая функция; её можно вызывать много раз, и каждый вызов применяет f ровно n раз.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

repeat.go — go
go · строк: 6
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом