Функция can pow может использоваться в рекурсивной функции? Например:Функция Pow в рекурсии C++
double exponencial(double x, int n){
if(n>0)
return (pow(x,n)/n)+exponencial(x,n-1);
return 1;
}
Функция can pow может использоваться в рекурсивной функции? Например:Функция Pow в рекурсии C++
double exponencial(double x, int n){
if(n>0)
return (pow(x,n)/n)+exponencial(x,n-1);
return 1;
}
Вы можете использовать любую функцию в рекурсии. pow
- просто функция, ничего особенного в этом.
Согласен, но, возможно, следует отметить, что есть несколько функций, которые не подходят для рекурсии - некоторые функции времени и, например, 'strtok'. –
Кто-то сказал мне, что я не могу, и я думал, что это странно ... Спасибо! –
Рекурсия не ограничивает какие функции вы можете использовать и не можете использовать. Итак, да, pow
может использоваться в рекурсивной функции.
В вашем примере pow(x,n)
будет называться первым (скорее всего), а возвращаемое значение будет делено на n. Затем все соответствующие данные помещаются в стек (включая ответ на выполненный нами расчет) и вызывается exponencial(x,n-1)
. Когда этот рекурсивный вызов возвращается, данные снова выталкиваются из стека, и наш конечный результат вычисляется и возвращается.
ДА .. Вы можете
Его просто функция, которая работает аналогично любой другой функции, которую вы написали
Мне любопытно, почему вы думаете, что не может быть использован? – StoryTeller
Вы можете использовать его. В этом конкретном случае это, очевидно, плохая идея. Название функции также является плохой идеей, поскольку это не то, что вы вычисляете. –