五只猴子分桃

  • 五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;.....其他几只猴子也都是 这样分的。问:这堆桃至少有多少个?
析:设f(n)为第n次分后每堆的数量。
则f(n+1) = (4*f(n)-1)/5;(1<=n<=4)即:f(n)=(5*f(n+1)+1)/4;总数量S=5*f(1)+1;
Java程序如下:
public static void f(){
	for(float i = 1.0f;i < 10000;i++){
		float tmp = i;
		boolean flag = true;
		int k = 0;
		//此时的tmp表示第4次分堆后每堆的个数。
		while(flag && k<4){
			tmp = (5*tmp+1)/4;
			if(tmp % 1 != 0){
				flag = false;
			}
			k++;
		}
		
		if(flag){
			//此时的tmp表示第1次分堆后每堆的个数。
			System.out.println("总的桃子数可以为:"+ (5*tmp+1));
		}
	}
}
输出结果如下:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值