标签:
最近看了很多递归的代码,因为基础讲的都不是很详细,对我这种弱菜来说真是想死的心都有了,所以想有没有有趣的易于理解的方法。
看我人生中写的第一个递归:从n个数中选r个数并将它们从大到小输出
可以这么理解:假设有一个传销组织,每一个boss都可以发展下线,只要这条线上有r个人就可以成立这个传销小组,大boss现在要考量用哪条线,请你找出所有路线,当然你的下属一定要比你的等级低才行。
大boss有势利眼,它做了一个排名(for循环,为什么要用for循环呢?因为当一条线考察结束后大boss还要继续考察等级低一点下一个人), 首先考察等级最高的那个人,这个被选中的人是小boss他再考察比他等级低的人,直到人数足够,最后那个小喽罗回到他的直属boss那里报告,然后退下, 直属boss继续选下一个。要是选完了怎么办呢?小boss回去和它的直属上司报告,直到大boss没得选为止。
其实就是试探,回去的过程
代码:
标签:
原文地址:http://www.cnblogs.com/ekinzhang/p/4345246.html