递归
算法小白…
路在脚下,从现在开始!
展开
-
瓷砖铺放
/*有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限 * 。要将这个长度为N的地板铺满,一共有多少种不同的铺法?例如,长度为4的地面一共有如下5种铺法:4=1+1+1+14=2+1+14=1+2+14=1+1+24=2+2编程用递归的方法求解上述问题。输入格式只有一个数N,代表地板的长度输出格式输出一个数,代表所有不同的瓷砖铺放方法的总数...原创 2018-03-29 18:10:36 · 433 阅读 · 0 评论 -
猴子吃桃问题
问题描述:猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?同样还有一道猴子吃桃问题也可以用递归来解决。忘记在哪转的了public class Main44 { public static void main(String[] ar...转载 2018-03-29 19:43:51 · 988 阅读 · 0 评论 -
取数位
求1个整数的第k位数字有很多种方法。以下的方法就是一种我是真的笨啊,debug as后我才真正知道运行过程。public class text { static int len(int x){ if(x<10) return 1; return len(x/10)+1;//注意回溯过程 } // 取x的第k位数字 static int f(int x, int k){ ...原创 2018-03-29 19:54:16 · 217 阅读 · 0 评论 -
爬楼梯问题:
一段楼梯共n级台阶,每次只能走一级或两级,问共有多少种走法?列出n=10时的所有走法。假如 n = 7 时,最后一步是会有f(7) = f(5) + f(6)得在 n = 1和2的时候,我们得到f(1),f(2)为1public class ClimbStairs { public int stairs(int n) { if (n == 1) ...原创 2018-03-29 20:20:03 · 380 阅读 · 0 评论