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);
        }
    }

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

  • 相关阅读:
    洛谷 P3366 【模板】最小生成树
    libfreenect
    openni2 和opencv读取数据
    kinect数据读取
    kinect for windows sdk
    caffe android lib
    Hlsl2glsl
    手势识别半自动标注结果视频
    CLM
    10位算法大师
  • 原文地址:https://www.cnblogs.com/exceptionblog/p/7988134.html
Copyright © 2011-2022 走看看