当前位置: 首页 > >

五十道编程小题目 --

发布时间:

【程序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个桃子


?


?


?


?


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


?



友情链接: