更新时间:2018-11-22 15:22作者:三水老师
输出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
2.一元钱买一瓶啤酒,两个空瓶换一瓶啤酒.问n元钱能喝多少瓶啤酒?用递归实现。(15分)
public class Test2 {
private static int getNumberOfBeer(int n){
if(n==1){
return 1;
}else if(n>=2&&n%2==0){
return n+getNumberOfBeer(n/2);
//奇数元钱需要加1
}else if(n>=2&&n%2!=0){
return n+1+getNumberOfBeer(n/2);
}
return -1;
}
public static void main(String[] args){
int i4=getNumberOfBeer(4);
int i5=getNumberOfBeer(5);
System.out.println(i4);
System.out.println(i5);
}
}
public class Test2 {
private static int getNumberOfBeer(int n){
if(n==1){
return 1;
}else if(n>=2&&n%2==0){
return n+getNumberOfBeer(n/2);
//奇数元钱需要加1
}else if(n>=2&&n%2!=0){
return n+1+getNumberOfBeer(n/2);
}
return -1;
}
public static void main(String[] args){
int i4=getNumberOfBeer(4);
int i5=getNumberOfBeer(5);
System.out.println(i4);
System.out.println(i5);
}
}
输出:
7
9