跳转至

Perl |递归子程序

原文:https://www.geeksforgeeks.org/perl-recursive-subroutines/

先决条件:Perl 中的递归

递归是指属于或使用可重复应用的规则或程序。它是通过算法的重复应用来定义函数或计算数字的过程。递归子例程是一种类型的子例程,作为其执行的一部分调用自己,或者处于函数调用的潜在循环中。 Perl 为我们提供了迭代和递归使用子程序的灵活性。

一个简单的例子显示了递归子程序在 Perl 中的使用,那就是计算一个数的阶乘。

*例:*

#!/usr/bin/perl 

# Perl Program to calculate Factorial  
sub factorial
{ 

my $n = $_[0]; 

# checking if that value is 0 or 1 
if ($n == 0 || $n == 1) 
{ 
    return 1; 
} 

# Recursively calling the function with the next value 
# which is one less than current one 
else
{ 
    return $n * factorial($n - 1); 
} 
} 

# Driver Code 
$n = 7; 

# Function call and printing result after return 
print "Factorial of a number $n is ", factorial($n);

**输出:

```perl Factorial of a number 7 is 5040

```**



回到顶部