Мне нужна помощь, чтобы выяснить, что мне нужно сделать для вспомогательной функции рекурсивно, я немного потерялся в том, что мне нужно сделать для вспомогательной функции.
Вот вопрос и пример ввода.
Вот пример того, что делает вспомогательная функция
Это то, что я написал до сих пор
Пожалуйста, опубликуйте текст в виде, где это возможно. (в отличие от изображения текста)
Вам нужно только немного изменить обозначения, чтобы найти решение.
Вместо a*bn напишите exp3(a, b, n)
.
Затем в примере говорится:
exp(3,4)
= exp3(1, 3, 4)
= exp3(1*3, 3, 4-1)
= exp3(3*3, 3, 3-1)
= exp3(3*9, 3, 2-1)
= exp3(3*27, 3, 1-1)
= 81
И вам действительно дали решение — текст буквально говорит: «Лемма 4.15 дает базовый случай, лемма 4.16 — рекурсивный случай».
Лемма 4.15:
exp3(a, b, 0) = a
Лемма 4.16:
exp3(a, b, n) = exp3(a * b, b, n - 1)
И функция, которой нужна помощь, должна иметь только один случай; первый «шаг», показанный в примере:
fun exp(a, b) = exp3(1, a, b)
Спасибо за разъяснение и совет.
Вы понимаете, что это не просто "уточнение" и "совет", а решение? Вам просто нужно собрать кусочки вместе.
Вспомогательная функция должна вызывать себя, а не функцию, которой она «помогает». (И, пожалуйста, не публикуйте изображения кода, публикуйте код.)