zoukankan      html  css  js  c++  java
  • 递归求解的两道小练习

    1.求1 + 2 + 3 + ... + 100 的结果

    public class TestCacu {
    
        public static int add(int first, int last, int result) {
    
            result += last;
    
            if (last == first) {
                return result;
            } else {
                return add(first, last - 1, result);
            }
    
        }
        
        public static void main(String[] args) {
            
            int res = add(0, 100, 0);
            System.out.println(res);
        }
    }

    2:一个人买汽水,一块钱一瓶汽水,三个瓶盖可以换一瓶汽水,2个空瓶可以换一瓶汽水,问20块钱总共可以买多少瓶汽水,写程序算出来

    public class TestBuyWater {
    
        public static int returnBuy(int waterNum, int coverNum, int bottleNum) {
    
            int newWater = coverNum / 3 + bottleNum / 2;
            waterNum += newWater;
            coverNum = coverNum % 3 + newWater;
            bottleNum = bottleNum % 2 + newWater;
    
            if (coverNum < 3 && bottleNum < 2) {
                return waterNum;
            } else {
                return returnBuy(waterNum, coverNum, bottleNum);
            }
        }
    
        public static void main(String[] args) {
    
            int res = returnBuy(20,20,20);
            System.out.println(res);
        }
    }

    今天的一些练手题,涉及到了一点递归的思想。记录一下

  • 相关阅读:
    3.13作业 制作网页布局
    3.11 框架和样式表
    表单
    3.8学习记录
    第一次作业
    数据库增删改查
    数据库三大范式
    数据库中的时间戳
    数据库的主键与外键
    登录页面
  • 原文地址:https://www.cnblogs.com/exceptionblog/p/7988134.html
Copyright © 2011-2022 走看看