A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 执剑人 中级黑马   /  2016-3-6 10:20  /  646 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

学了递归,我觉得这是个神器,当我们传入的值会产生返回值和新的传入值的时候可以用递归。
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)
public static void main(String[] args) {
                int num = 25;
                int i = 0;
                while(getp(i) + i < num){    //c语言老师说这叫穷举法
                        i++;
                }
                System.out.println(i);
        }

        public static int getp(int i){                 //传入的是瓶盖值,返回的是可乐的值,
                if(i > 3){
                        
                        return  i/3 + getp(i / 3  + i % 3);        //把产生的瓶盖传回!递归!
                }else{
                        return 0;
                }
        }

评分

参与人数 1黑马币 +2 收起 理由
洋葱头头 + 2 很给力!

查看全部评分

7 个回复

正序浏览
学习了   
回复 使用道具 举报
学习了!
回复 使用道具 举报
小笼包 发表于 2016-3-7 09:23
递归的用处太大了

同意!赞一下!
回复 使用道具 举报

就是三根柱子
有环环从一号柱移动到三号柱的
汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。[1]
回复 使用道具 举报
递归的用处太大了
回复 使用道具 举报
qq812392675 发表于 2016-3-6 15:22
赞一下但是递归的河内塔真是个坑

什么是河内塔?
回复 使用道具 举报
赞一下但是递归的河内塔真是个坑{:2_33:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马