C++ 函数递归计算幂运算:f1(x, n)
C++ 函数递归计算幂运算:f1(x, n)
本文将解析使用递归函数 f1(x, n) 计算 x 的 n 次方的 C++ 代码示例。
原始代码:
double f1(double x, int n) {
if (n == 1) return x;
else return fl(x, n - 1) * x;
}
void main() {
printf("%.0f\n", f1(2.0, 3));
}
错误分析:
代码中函数调用 fl(x, n - 1) 存在错误,正确的函数名为 f1,而非 fl。
修正后的代码:
double f1(double x, int n) {
if (n == 1) return x;
else return f1(x, n - 1) * x;
}
int main() {
printf("%.0f\n", f1(2.0, 3));
return 0;
}
代码解析:
f1(x, n)函数使用递归的方式计算 x 的 n 次方。- 当
n == 1时,直接返回 x,即 x 的 1 次方。 - 当
n > 1时,递归调用f1(x, n - 1)计算 x 的 (n-1) 次方,并将其乘以 x,得到 x 的 n 次方。
运行结果:
输出结果为 $2^3=8$。
总结:
通过修正代码中的函数调用错误,成功实现了使用递归函数 f1(x, n) 计算 x 的 n 次方。
原文地址: https://www.cveoy.top/t/topic/nev2 著作权归作者所有。请勿转载和采集!