zoukankan      html  css  js  c++  java
  • 递归练习,喝汽水问题

    问题:
    一个人买汽水,一块钱一瓶汽水,三个瓶盖可以换一瓶汽水,两个空瓶可以换一瓶汽水
    问20块钱可以买多少汽水?
    注意:使用递归

    import java.util.*;
    public class RecursionThreePara {
    public static void main(String[] args){
    System.out.println("规则如下:有若干元块钱,汽水一块钱一瓶,2个空瓶可以换一瓶汽水,3个瓶盖也也可以换一瓶汽水,问共可以喝到多少瓶汽水?");
    Scanner scan=new Scanner(System.in);
    System.out.println("请输入您手中的钱数");
    if(scan.hasNextInt()){
    int i =scan.nextInt();
    int result =Recursion(i,0,0);
    System.out.printf("您一共可以喝到 %d 瓶汽水",result);
    }
    else{
    System.out.println("您的输入不合法");
    }

    Recursion(20,0,0);

    }

    public static int Recursion(int Total,int Bottle,int Caps){
    Bottle=Bottle%2;
    Caps=Caps%3;
    Bottle=Total+Bottle;
    Caps=Total+Caps;
    if(Bottle<2&&Caps<3){
    return Total;
    }
    else{
    return Recursion((Bottle/2+Caps/3),Bottle,Caps)+Total;
    }
    }
    }

     问题:
    3个空瓶可以换一瓶汽水
    问20个空瓶可以喝多少汽水?
    注意:使用递归

    import java.util.*;
    public class RecursionBottle {
        public static void main(String[] args){
            System.out.println("使用空瓶子换汽水,换取规则是三个空拼字可以换取一瓶汽水!");
            System.out.println("请输入您手中的空瓶子数");
            Scanner scan = new Scanner(System.in);
            if(scan.hasNextInt()){
                int i=scan.nextInt();
                int drink=Recursion(i,0);
                if(drink<=0){
                    System.out.println("您的瓶子太少,换不到汽水喝");
                }
                else{
                    System.out.printf("您的空瓶子可以换取%d瓶汽水喝",drink);
    
                }
    
            }
            else{
                System.out.println("您的输入不合法,请重新输入");
            }
    
    
        }
    
        public static int Recursion(int Bottle,int drinks){
           int bottle=Bottle%3;
           drinks = drinks+(Bottle/3);
           if(Bottle<3){
               return drinks;
            }
           else{
               return Recursion((Bottle/3)+bottle,drinks);
           }
    
        }
    }
  • 相关阅读:
    OpenCV3入门(八)图像边缘检测
    OpenCV3入门(七)图像形态学
    OpenCV3入门(六)图像滤波
    OpenCV3入门(五)图像的阈值
    OpenCV3入门(四)图像的基础操作
    OpenCV3入门(三)基本绘图函数
    OpenCV3入门(二)Mat操作
    OpenCV3入门(一)环境搭建与实验
    图像边缘检测
    图像增强之空间域锐化
  • 原文地址:https://www.cnblogs.com/gaoshiguo/p/11869517.html
Copyright © 2011-2022 走看看