📅  最后修改于: 2021-01-07 05:16:37             🧑  作者: Mango
调用自身的函数称为递归函数,而此技术称为递归。递归指令继续,直到另一条指令阻止它为止。
以下示例显示了递归如何在C++(一种面向对象的编程语言)中工作-
#include
long int fact(int n);
int main() {
int n;
printf("Enter a positive integer: ");
scanf("%d", &n);
printf("Factorial of %d = %ld", n, fact(n));
return 0;
}
long int fact(int n) {
if (n >= 1)
return n*fact(n-1);
else
return 1;
}
它将产生以下输出
Enter a positive integer: 5
Factorial of 5 = 120
以下示例显示了递归在Python的工作方式, Python是一种功能编程语言-
def fact(n):
if n == 1:
return n
else:
return n* fact (n-1)
# accepts input from user
num = int(input("Enter a number: "))
# check whether number is positive or not
if num < 0:
print("Sorry, factorial does not exist for negative numbers")
else:
print("The factorial of " + str(num) + " is " + str(fact(num)))
它将产生以下输出-
Enter a number: 6
The factorial of 6 is 720