java海滩上有一_五十道编程小题目 --- 41 海滩上有一堆桃子,五只猴子来分 java...

【程序41】

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一

个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中

,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

程序分析:

桃子总数为total个,

(1)第一个猴子分完5份后,每个猴子拿的桃子个数为:(total-1)/5;

(2)第一个猴子拿走一份后(注意,此时剩余桃子总数是4的倍数),剩余的桃子为tota_01 = total-(total-1)/5;然后第二个猴子又将剩余的桃子分为5份,即每个猴子拿(total_01-1)/5;

(3) 第三个猴子同理(注意,此时剩余桃子总数是4的倍数):将剩余的桃子total_02 = total - (total-1)/5 - (total_01-1)/5  分为5份;每个猴子拿(total_02-1)/5;

(4) 第四个猴子同理(注意,此时剩余桃子总数是4的倍数):将剩余的桃子total_03 = total - (total-1)/5 - (total_01-1)/5 - (total_02-1)/5  分为5份;每个猴子拿(total_03-1)/5;

(5) 第五个猴子同理(注意,此时剩余桃子总数是4的倍数):将剩余的桃子total_04 = total - (total-1)/5 - (total_01-1)/5 - (total_02-1)/5 - (total_03-1)/5   分为5份;每个猴子拿(total_04-1)/5;

注意:

1、原有桃子数满足总数减一后是5的倍数:(total-1)%5==0, 并且,剩余桃子数必须是4的倍数: [total-((total-1)%5) ]%4==0,

1、桃子数未知,从最小数开始累加,直到算出满足5个猴子分的桃子个数

public class Test41 {

public static void main(String[] args) {

int num = 0;//假设最后每份一个

int total = 0;//桃子总数

boolean isout = false;

while (!isout) {

//五个猴子 算4遍即可,因为只需有4次两个条件

for (int i = 0; i < 4; i++) {

//1、第一次分桃,原有桃子数满足:(total-1)%5==0,

if (i == 0) {

total = num * 5 + 1;

}

// 2、第二次以后分桃,剩余桃子数除了满足第一个条件,还要满足是4的倍数: [total-((total-1)%5) ]%4==0,

if (total % 4 == 0) {

int count = ((total / 4) * 5 + 1); //临时算数用

System.out.println("分前" + count + "个桃子,第" + (i + 2) + "个猴子,分成5份,每份(" + count + "-1)/5=" + (count - 1) / 5 + "个桃子,剩余(" + count + "-1)-(" + count + "-1)/5=" + ((count - 1) - (count - 1) / 5) + "个桃子");

total = (total / 4) * 5 + 1;

//i = 0、1、2、3 即满足两个条件的数据,进行4次运算 就算成功,此时的桃子数是最小的个数

if (i == 3) {

isout = true;

}

} else {

//桃子数不符合5个猴子分桃,重新从第一个猴子开始分

break;

}

}

num++;

}

System.out.println("符合条件的桃子数=" + total);

}

}

输出结果:

分前21个桃子,第2个猴子,分成5份,每份(21-1)/5=4个桃子,剩余(21-1)-(21-1)/5=16个桃子

分前46个桃子,第2个猴子,分成5份,每份(46-1)/5=9个桃子,剩余(46-1)-(46-1)/5=36个桃子

分前71个桃子,第2个猴子,分成5份,每份(71-1)/5=14个桃子,剩余(71-1)-(71-1)/5=56个桃子

分前96个桃子,第2个猴子,分成5份,每份(96-1)/5=19个桃子,剩余(96-1)-(96-1)/5=76个桃子

分前121个桃子,第3个猴子,分成5份,每份(121-1)/5=24个桃子,剩余(121-1)-(121-1)/5=96个桃子

分前121个桃子,第2个猴子,分成5份,每份(121-1)/5=24个桃子,剩余(121-1)-(121-1)/5=96个桃子

分前146个桃子,第2个猴子,分成5份,每份(146-1)/5=29个桃子,剩余(146-1)-(146-1)/5=116个桃子

分前171个桃子,第2个猴子,分成5份,每份(171-1)/5=34个桃子,剩余(171-1)-(171-1)/5=136个桃子

分前196个桃子,第2个猴子,分成5份,每份(196-1)/5=39个桃子,剩余(196-1)-(196-1)/5=156个桃子

分前246个桃子,第3个猴子,分成5份,每份(246-1)/5=49个桃子,剩余(246-1)-(246-1)/5=196个桃子

分前221个桃子,第2个猴子,分成5份,每份(221-1)/5=44个桃子,剩余(221-1)-(221-1)/5=176个桃子

分前246个桃子,第2个猴子,分成5份,每份(246-1)/5=49个桃子,剩余(246-1)-(246-1)/5=196个桃子

分前271个桃子,第2个猴子,分成5份,每份(271-1)/5=54个桃子,剩余(271-1)-(271-1)/5=216个桃子

分前296个桃子,第2个猴子,分成5份,每份(296-1)/5=59个桃子,剩余(296-1)-(296-1)/5=236个桃子

分前371个桃子,第3个猴子,分成5份,每份(371-1)/5=74个桃子,剩余(371-1)-(371-1)/5=296个桃子

分前321个桃子,第2个猴子,分成5份,每份(321-1)/5=64个桃子,剩余(321-1)-(321-1)/5=256个桃子

分前346个桃子,第2个猴子,分成5份,每份(346-1)/5=69个桃子,剩余(346-1)-(346-1)/5=276个桃子

分前371个桃子,第2个猴子,分成5份,每份(371-1)/5=74个桃子,剩余(371-1)-(371-1)/5=296个桃子

分前396个桃子,第2个猴子,分成5份,每份(396-1)/5=79个桃子,剩余(396-1)-(396-1)/5=316个桃子

分前496个桃子,第3个猴子,分成5份,每份(496-1)/5=99个桃子,剩余(496-1)-(496-1)/5=396个桃子

分前621个桃子,第4个猴子,分成5份,每份(621-1)/5=124个桃子,剩余(621-1)-(621-1)/5=496个桃子

分前421个桃子,第2个猴子,分成5份,每份(421-1)/5=84个桃子,剩余(421-1)-(421-1)/5=336个桃子

分前446个桃子,第2个猴子,分成5份,每份(446-1)/5=89个桃子,剩余(446-1)-(446-1)/5=356个桃子

分前471个桃子,第2个猴子,分成5份,每份(471-1)/5=94个桃子,剩余(471-1)-(471-1)/5=376个桃子

分前496个桃子,第2个猴子,分成5份,每份(496-1)/5=99个桃子,剩余(496-1)-(496-1)/5=396个桃子

分前621个桃子,第3个猴子,分成5份,每份(621-1)/5=124个桃子,剩余(621-1)-(621-1)/5=496个桃子

分前521个桃子,第2个猴子,分成5份,每份(521-1)/5=104个桃子,剩余(521-1)-(521-1)/5=416个桃子

分前546个桃子,第2个猴子,分成5份,每份(546-1)/5=109个桃子,剩余(546-1)-(546-1)/5=436个桃子

分前571个桃子,第2个猴子,分成5份,每份(571-1)/5=114个桃子,剩余(571-1)-(571-1)/5=456个桃子

分前596个桃子,第2个猴子,分成5份,每份(596-1)/5=119个桃子,剩余(596-1)-(596-1)/5=476个桃子

分前746个桃子,第3个猴子,分成5份,每份(746-1)/5=149个桃子,剩余(746-1)-(746-1)/5=596个桃子

分前621个桃子,第2个猴子,分成5份,每份(621-1)/5=124个桃子,剩余(621-1)-(621-1)/5=496个桃子

分前646个桃子,第2个猴子,分成5份,每份(646-1)/5=129个桃子,剩余(646-1)-(646-1)/5=516个桃子

分前671个桃子,第2个猴子,分成5份,每份(671-1)/5=134个桃子,剩余(671-1)-(671-1)/5=536个桃子

分前696个桃子,第2个猴子,分成5份,每份(696-1)/5=139个桃子,剩余(696-1)-(696-1)/5=556个桃子

分前871个桃子,第3个猴子,分成5份,每份(871-1)/5=174个桃子,剩余(871-1)-(871-1)/5=696个桃子

分前721个桃子,第2个猴子,分成5份,每份(721-1)/5=144个桃子,剩余(721-1)-(721-1)/5=576个桃子

分前746个桃子,第2个猴子,分成5份,每份(746-1)/5=149个桃子,剩余(746-1)-(746-1)/5=596个桃子

分前771个桃子,第2个猴子,分成5份,每份(771-1)/5=154个桃子,剩余(771-1)-(771-1)/5=616个桃子

分前796个桃子,第2个猴子,分成5份,每份(796-1)/5=159个桃子,剩余(796-1)-(796-1)/5=636个桃子

分前996个桃子,第3个猴子,分成5份,每份(996-1)/5=199个桃子,剩余(996-1)-(996-1)/5=796个桃子

分前1246个桃子,第4个猴子,分成5份,每份(1246-1)/5=249个桃子,剩余(1246-1)-(1246-1)/5=996个桃子

分前821个桃子,第2个猴子,分成5份,每份(821-1)/5=164个桃子,剩余(821-1)-(821-1)/5=656个桃子

分前846个桃子,第2个猴子,分成5份,每份(846-1)/5=169个桃子,剩余(846-1)-(846-1)/5=676个桃子

分前871个桃子,第2个猴子,分成5份,每份(871-1)/5=174个桃子,剩余(871-1)-(871-1)/5=696个桃子

分前896个桃子,第2个猴子,分成5份,每份(896-1)/5=179个桃子,剩余(896-1)-(896-1)/5=716个桃子

分前1121个桃子,第3个猴子,分成5份,每份(1121-1)/5=224个桃子,剩余(1121-1)-(1121-1)/5=896个桃子

分前921个桃子,第2个猴子,分成5份,每份(921-1)/5=184个桃子,剩余(921-1)-(921-1)/5=736个桃子

分前946个桃子,第2个猴子,分成5份,每份(946-1)/5=189个桃子,剩余(946-1)-(946-1)/5=756个桃子

分前971个桃子,第2个猴子,分成5份,每份(971-1)/5=194个桃子,剩余(971-1)-(971-1)/5=776个桃子

分前996个桃子,第2个猴子,分成5份,每份(996-1)/5=199个桃子,剩余(996-1)-(996-1)/5=796个桃子

分前1246个桃子,第3个猴子,分成5份,每份(1246-1)/5=249个桃子,剩余(1246-1)-(1246-1)/5=996个桃子

分前1021个桃子,第2个猴子,分成5份,每份(1021-1)/5=204个桃子,剩余(1021-1)-(1021-1)/5=816个桃子

分前1046个桃子,第2个猴子,分成5份,每份(1046-1)/5=209个桃子,剩余(1046-1)-(1046-1)/5=836个桃子

分前1071个桃子,第2个猴子,分成5份,每份(1071-1)/5=214个桃子,剩余(1071-1)-(1071-1)/5=856个桃子

分前1096个桃子,第2个猴子,分成5份,每份(1096-1)/5=219个桃子,剩余(1096-1)-(1096-1)/5=876个桃子

分前1371个桃子,第3个猴子,分成5份,每份(1371-1)/5=274个桃子,剩余(1371-1)-(1371-1)/5=1096个桃子

分前1121个桃子,第2个猴子,分成5份,每份(1121-1)/5=224个桃子,剩余(1121-1)-(1121-1)/5=896个桃子

分前1146个桃子,第2个猴子,分成5份,每份(1146-1)/5=229个桃子,剩余(1146-1)-(1146-1)/5=916个桃子

分前1171个桃子,第2个猴子,分成5份,每份(1171-1)/5=234个桃子,剩余(1171-1)-(1171-1)/5=936个桃子

分前1196个桃子,第2个猴子,分成5份,每份(1196-1)/5=239个桃子,剩余(1196-1)-(1196-1)/5=956个桃子

分前1496个桃子,第3个猴子,分成5份,每份(1496-1)/5=299个桃子,剩余(1496-1)-(1496-1)/5=1196个桃子

分前1871个桃子,第4个猴子,分成5份,每份(1871-1)/5=374个桃子,剩余(1871-1)-(1871-1)/5=1496个桃子

分前1221个桃子,第2个猴子,分成5份,每份(1221-1)/5=244个桃子,剩余(1221-1)-(1221-1)/5=976个桃子

分前1246个桃子,第2个猴子,分成5份,每份(1246-1)/5=249个桃子,剩余(1246-1)-(1246-1)/5=996个桃子

分前1271个桃子,第2个猴子,分成5份,每份(1271-1)/5=254个桃子,剩余(1271-1)-(1271-1)/5=1016个桃子

分前1296个桃子,第2个猴子,分成5份,每份(1296-1)/5=259个桃子,剩余(1296-1)-(1296-1)/5=1036个桃子

分前1621个桃子,第3个猴子,分成5份,每份(1621-1)/5=324个桃子,剩余(1621-1)-(1621-1)/5=1296个桃子

分前1321个桃子,第2个猴子,分成5份,每份(1321-1)/5=264个桃子,剩余(1321-1)-(1321-1)/5=1056个桃子

分前1346个桃子,第2个猴子,分成5份,每份(1346-1)/5=269个桃子,剩余(1346-1)-(1346-1)/5=1076个桃子

分前1371个桃子,第2个猴子,分成5份,每份(1371-1)/5=274个桃子,剩余(1371-1)-(1371-1)/5=1096个桃子

分前1396个桃子,第2个猴子,分成5份,每份(1396-1)/5=279个桃子,剩余(1396-1)-(1396-1)/5=1116个桃子

分前1746个桃子,第3个猴子,分成5份,每份(1746-1)/5=349个桃子,剩余(1746-1)-(1746-1)/5=1396个桃子

分前1421个桃子,第2个猴子,分成5份,每份(1421-1)/5=284个桃子,剩余(1421-1)-(1421-1)/5=1136个桃子

分前1446个桃子,第2个猴子,分成5份,每份(1446-1)/5=289个桃子,剩余(1446-1)-(1446-1)/5=1156个桃子

分前1471个桃子,第2个猴子,分成5份,每份(1471-1)/5=294个桃子,剩余(1471-1)-(1471-1)/5=1176个桃子

分前1496个桃子,第2个猴子,分成5份,每份(1496-1)/5=299个桃子,剩余(1496-1)-(1496-1)/5=1196个桃子

分前1871个桃子,第3个猴子,分成5份,每份(1871-1)/5=374个桃子,剩余(1871-1)-(1871-1)/5=1496个桃子

分前1521个桃子,第2个猴子,分成5份,每份(1521-1)/5=304个桃子,剩余(1521-1)-(1521-1)/5=1216个桃子

分前1546个桃子,第2个猴子,分成5份,每份(1546-1)/5=309个桃子,剩余(1546-1)-(1546-1)/5=1236个桃子

分前1571个桃子,第2个猴子,分成5份,每份(1571-1)/5=314个桃子,剩余(1571-1)-(1571-1)/5=1256个桃子

分前1596个桃子,第2个猴子,分成5份,每份(1596-1)/5=319个桃子,剩余(1596-1)-(1596-1)/5=1276个桃子

分前1996个桃子,第3个猴子,分成5份,每份(1996-1)/5=399个桃子,剩余(1996-1)-(1996-1)/5=1596个桃子

分前2496个桃子,第4个猴子,分成5份,每份(2496-1)/5=499个桃子,剩余(2496-1)-(2496-1)/5=1996个桃子

分前3121个桃子,第5个猴子,分成5份,每份(3121-1)/5=624个桃子,剩余(3121-1)-(3121-1)/5=2496个桃子

符合条件的桃子数=3121

注意,请看最后5行输出,是满足条件的桃子数分析

分前1596个桃子,第2个猴子,分成5份,每份(1596-1)/5=319个桃子,剩余(1596-1)-(1596-1)/5=1276个桃子

分前1996个桃子,第3个猴子,分成5份,每份(1996-1)/5=399个桃子,剩余(1996-1)-(1996-1)/5=1596个桃子

分前2496个桃子,第4个猴子,分成5份,每份(2496-1)/5=499个桃子,剩余(2496-1)-(2496-1)/5=1996个桃子

分前3121个桃子,第5个猴子,分成5份,每份(3121-1)/5=624个桃子,剩余(3121-1)-(3121-1)/5=2496个桃子

符合条件的桃子数=3121

由此推算出第一个猴子,第一次拿走255个桃子

分前1276个桃子,第1个猴子,分成5份,每份(1276-1)/5=255个桃子,剩余(1276-1)-(1276-1)/5=1020个桃子

多谢各位评论大神指点,多谢多谢

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值