日期:2014-05-20  浏览次数:20837 次

海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了
public static int m = 0;//桃子总数
public static void main(String[] args) {
houZhi(0,1);
}
public static int houZhi(int n,int k){//k表示分桃次数
if(n >= 10000){
return 0;
}
else {
if((n - 1) % 5 == 0 && k <= 5){
if(k == 5)
System.out.println("桃子数 = " + m + " 时满足分桃子");
k += 1;
return houZhi((n - 1) / 5 * 4,k);
}
else {
m += 1;
return houZhi(m ,1);
}
}
}

怎么出现溢出问题?
是那溢出了

------解决方案--------------------
Java code

public static int m = 0;//桃子总数
public static void main(String[] args) {
houZhi(0,1);
}
public static int houZhi(int n,int k){//k表示分桃次数
if(n >= 10000){
return 0;
}
else {
if((n - 1) % 5 == 0 && k <= 5){
if(k == 5){
System.out.println("桃子数 = " + m + " 时满足分桃子");
return 0;
}
k += 1;
return houZhi((n - 1) / 5 * 4,k);
}
else {
m += 1;
return houZhi(m ,1);
}
}
}

------解决方案--------------------
探讨

我第一个if就是判断递归退出啊