java海滩上有一_海滩上有一堆桃子,五只猴子来分-海滩上有一堆桃子,五只猴子来分java实现-吾爱编程网...

今天吾爱编程为大家分享一个java的经典案例:海滩上有一堆桃子,五只猴子来分,接下来吾爱编程为大家介绍一下海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份写法,有需要的小伙伴可以参考一下:

1、程序需求:

海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

2、程序代码:

public class Dg {

static int ts=0;//桃子总数

int fs=1;//记录分的次数

static int hs=5;//猴子数...

int tsscope=5000;//桃子数的取值范围.太大容易溢出.

public int fT(int t){

if(t==tsscope){

//当桃子数到了最大的取值范围时取消递归

System.out.println("结束");

return 0;

}

else{

if((t-1)%hs==0 && fs <=hs){

if(fs==hs){

System.out.println("桃子数 = "+ts +" 时满足分桃条件");

}

fs+=1;

return fT((t-1)/5*4);// 返回猴子拿走一份后的剩下的总数

}

else{

//没满足条件

fs=1;//分的次数重置为1

return fT(ts+=1);//桃子数加+1

}

}

}

public static void main(String[] args) {

new Dg().fT(0);

}

}

3、程序扩展:

有一堆桃子,6只猴子来分。第一只猴子把这堆桃子平均分为6份,多了一个,这只猴子把多的一个吃掉,并拿走了一份;第二只猴子把剩下的桃子又平均分成6份,又多了一个,它同样把多的一个吃掉,并拿走了一份;第三、第四、第五、第六只猴子都是这样做的,问海滩上原来最少有多少个桃子?

4、程序代码:

public class text10{

public static void main(String[] args) {

int sum2;

int sum1 = 7;

int count;

int index;

boolean flag = true;

while(flag)

{

index = 0;

count = 0;

sum2 = sum1;

while(count < 6)

{

if(sum2%6 == 1)

{

sum2 -= 1;

sum2 -= sum2/6;

index++;

}

if(index == 6)

{

System.out.println("最少有 " + sum1 + " 个桃子!");

flag = false;

break;

}

count++;

}

sum1 += 6; }

}

}

以上就是吾爱编程为大家介绍的海滩上有一堆桃子,五只猴子来分的Java经典案例的全部内容了,希望对大家有所帮助,了解更多相关文章请关注吾爱编程网!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值