Recursion 在Pascal中,递归方法可以有多个基本情况吗?

Recursion 在Pascal中,递归方法可以有多个基本情况吗?,recursion,pascal,Recursion,Pascal,我想知道在Pascal中,递归过程/函数是否可以有不止一个基本情况。 如果是这样,你能给我举个简单的例子吗?请解释为什么这是可能的?简单的斐波那契序列有两种基本情况: f(0) = 0 f(1) = 1 f(n) = f(n - 1) + f(n - 2) 当然,你可以用Pascal来写: function Fib(n: integer): integer; begin if n = 0 then Fib := 0 else if n = 1 then Fib := 1 else

我想知道在Pascal中,递归过程/函数是否可以有不止一个基本情况。
如果是这样,你能给我举个简单的例子吗?请解释为什么这是可能的?

简单的斐波那契序列有两种基本情况:

f(0) = 0
f(1) = 1
f(n) = f(n - 1) + f(n - 2)
当然,你可以用Pascal来写:

function Fib(n: integer): integer;
begin
  if n = 0 then Fib := 0
  else if n = 1 then Fib := 1
  else Fib := Fib(n - 1) + Fib(n - 2)
end;

简单斐波那契序列有两种基本情况:

f(0) = 0
f(1) = 1
f(n) = f(n - 1) + f(n - 2)
当然,你可以用Pascal来写:

function Fib(n: integer): integer;
begin
  if n = 0 then Fib := 0
  else if n = 1 then Fib := 1
  else Fib := Fib(n - 1) + Fib(n - 2)
end;

这不是一个帕斯卡特有的问题。关于如何回答,请思考基本案例的作用。在大多数语言中,它是在递归函数中对特定条件的检查,如果满足,将提供一个结果,而无需进行递归调用。是否有一组以上的条件可以导致非递归调用情况?我让你来回答这个问题。基于此,设计一个例子应该很容易。这并不是一个帕斯卡特有的问题。关于如何回答,请思考基本案例的作用。在大多数语言中,它是在递归函数中对特定条件的检查,如果满足,将提供一个结果,而无需进行递归调用。是否有一组以上的条件可以导致非递归调用情况?我让你来回答这个问题。基于此,设计一个例子应该很容易。