- 斐波那契序列实现
- 规则:当前这个数值,等于其前两位数值的和,示例如:1 1 2 3 5 8 13 21 34…
- 实现方法:递归实现
- 递归实现的要点
- 终止条件
- 循环主体
- 具体代码实现
package com.czk; public class FiberTest { public static int fiber(int location){ if(location<1){ return -1; } if(location==1 || location==2){ return 1; }else{ return fiber(location-1)+fiber(location-2); } } public static void main(String[] args) { System.out.println(fiber(-100)); System.out.println(fiber(1)); System.out.println(fiber(2)); System.out.println(fiber(5)); System.out.println(fiber(7)); } }
- 阶乘的实现
- 规则:1的阶乘表示为1!=1,2!=2*1,3=3*2*1…
- 实现方法:递归实现
- 递归实现的要点
- 终止条件
- 循环主体
- 具体代码实现
- 规则:1的阶乘表示为1!=1,2!=2*1,3=3*2*1…
package com.czk; /** * 实现一阶阶乘 * * @author czk * * @time:2019年7月31日 */ public class FacTest { public static long fac(int n) { if (n < 1) { return -1; } if (n == 1) { return 1; } else { return n * fac(n - 1); } } public static void main(String[] args) { System.out.println(fac(-3)); System.out.println(fac(1)); System.out.println(fac(2)); System.out.println(fac(5)); } }
- 阶乘的阶乘
- 规则:1的阶乘的阶乘表示为1!!=1,2!=2!*1!,3!!=3!*2!*1!..
- 实现方法:递归实现
- 递归实现的要点
- 终止条件
- 循环主体
- 具体代码实现
package com.czk; /** * 实现2阶阶乘 * * @author czk * * @time:2019年7月31日 */ public class FacFacTest { public static long fac(int n) { if (n < 1) { return -1; } if (n == 1) { return 1; } else { return n * fac(n - 1); } } public static long facFac(int n) { if (n < 1) { return -1; } if (n == 1) { return 1; } else { return fac(n) * facFac(n - 1); } } public static void main(String[] args) { System.out.println(facFac(-3)); System.out.println(facFac(1)); System.out.println(facFac(2)); System.out.println(facFac(5)); } }
用递归法实现斐波那契序列、阶乘、阶乘的阶乘
最新推荐文章于 2021-08-09 16:48:45 发布