递归方法的程序设计方法初探
一、题目分析 (一)、赶鸭子问题 1、题目要求 2、具体分析 (二)、角谷定理 1、题目要求 格式如: 输入: 22 输出: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 STEP=16 2、具体分析 二、算法构造 (一)、赶鸭子问题 1、递归算法 以天数键flag为递归出口判断点,flag也为卖出的天数。 2、非递归算法 通过循环将所卖鸭子数通过天数的变化进行依次迭代。循环变量即为买鸭子的天数,直至循环结束所求问题也结束。 (二)、角谷定理 1、递归算法 将输入的值value设置为递归出口。 2、非递归算法 同“赶鸭子问题”相同,通过循环将只进行依次迭代,直至该值变为1,循环结束。 三、算法实现 (一)、赶鸭子问题 public class GanYaZi { private static int flag = 0 ; public static void main ( String [ ] args ) { System . out . println ( "递归方式求解答案" ) ; System . out . println ( "---------------------------------------------" ) ; gan_dg ( 2 ) ; System . out . println ( "----------