第6讲递归.pptVIP

  • 7
  • 0
  • 约4.98千字
  • 约 30页
  • 2016-08-12 发布于重庆
  • 举报
第6讲递归

程序设计实习2007 程序设计基础 第六讲 递归 29/cpp2007 内容提要 递归的基本思想 例题 练习 作业 递归的基本思想 总体思想:将待求解问题的解看作输入变量x的函数f(x),通过寻找函数g,使得f(x) = g(f(x-1)),并且已知f(0)的值,就可以通过f(0)和g求出f(x)的值. 这样一个思想也可以推广到多个输入变量x,y,z等,x-1也可以推广到 x - x1,只要递归朝着出口的方向走就可以了. 例1:POJ2753菲波那契数列 输入一个整数n,求菲波那契数列的第n项. 算法:设第n项值为f(n),则  f(n) = f(n-1)+f(n-2).已知f(1)=1,f(2)=1,则从第3项开始,可以用公式求. 程序:int f(int n){ if(n==1 || n==2) return 1; else return f(n-1)+f(n-2); } 放苹果 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 Input 第一行是测试数据的数目t(0 = t = 20)。以下每行均包含二个整数M和N,以空格分开。1=M,N=10。 Output 对输入的每组数据

文档评论(0)

1亿VIP精品文档

相关文档