차례차례 연습, 사이다 마시기 문제

3745 단어
문제: 한 사람이 사이다를 사면 1원에 사이다 한 병, 뚜껑 세 개로 사이다 한 병을 바꿀 수 있고, 빈 병 두 개로 사이다 한 병을 바꿀 수 있다. 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);
       }

    }
}

좋은 웹페이지 즐겨찾기