Задача · Функции как значения · урок 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 раз.
Не добавляйте лишних импортов, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.