我不明白递归函数

时间:2013-04-08 15:10:57

标签: recursion

编写一个递归函数,用于计算递归定义函数的值 F(n)= -F(n-2),F(0)= 1且F(1)= -2。我一直盯着这几个小时,我不明白。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

与任何编程问题一样,您可以先使用伪代码表达解决方案,然后继续以您选择的语言实现它,例如

FUNCTION F(n)
  IF n == 0           -- recursion terminates when n = 0, with result 0
    RETURN 0
  ELSE IF n == 1      -- recursion can also terminate when n = 1, with result -2
    RETURN -2
  ELSE                -- otherwise recursion contiunes with F(n - 2), F(n - 4), ...
    RETURN -F(n - 2)  -- until one of the terminating conditions is reached
END

从这里开始,用C ++或您选择的任何语言实现此功能应该非常简单。一定要实现一个“测试工具”,即用一系列不同的输入值调用F然后打印结果的函数,这样你就可以验证函数是否正常运行并在必要时进行调试