递归是函数自我调用的编程技术,分为基线条件和递归调用。使用递归可以实现阶乘,即正整数乘以其所有较小正整数的乘积,和斐波那契数列,即每个数字是前两个数字总和的数列。
C 函数递归详解:递归实现阶乘和斐波那契数列
简介
递归是一种编程技术,它允许函数调用自身来解决问题。递归函数通常分为两部分:基线条件和递归调用。
阶乘的递归实现
阶乘是将一个正整数乘以其所有较小正整数的乘积。例如,5 的阶乘等于 5 x 4 x 3 x 2 x 1 = 120。
int阶乘(int n) { if (n == 0) { // 基线条件 return 1; } else { return n * 阶乘(n - 1); // 递归调用 } }
实战案例:计算 10 的阶乘
int result = 阶乘(10); cout << "10 的阶乘为 " << result << endl;
输出:
10 的阶乘为 3628800
斐波那契数列的递归实现
斐波那契数列是一个数列,其中每个数字是前两个数字的总和。该数列以 0 和 1 开始。
int斐波那契(int n) { if (n == 0) { // 基线条件 return 0; } else if (n == 1) { return 1; } else { return 斐波那契(n - 1) + 斐波那契(n - 2); // 递归调用 } }
实战案例:打印斐波那契数列的前 10 个数字
for (int i = 0; i < 10; i++) { cout << 斐波那契(i) << " "; }
输出:
0 1 1 2 3 5 8 13 21 34
以上是C++ 函数递归详解:递归实现阶乘和斐波那契数列的详细内容。更多信息请关注PHP中文网其他相关文章!