分鱼问题

来源:互联网 发布:淘宝远望数码手机真假 编辑:程序博客网 时间:2024/04/30 15:05

A、B、C、D、E五个人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三杆,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,保持走自己的一份。C、D、E依次醒来,也按同样的方法拿走鱼。问他们合伙至少捕了多少条鱼?

class HelloWorld 
{
public static void main(String args[]) 
{
boolean flag=false;
for (int i = 0;; i++) { 
int sum = i;                                     //总数
for (int j = 0; j < 5; j++) { //5个人循环5次
if (sum%5 == 1) {                   //余1,因为每次扔掉一条
sum = (sum/5)*4;                     //没有分的时候的总数
flag=true; //循环跳出标记
} else {
flag=false;


if (flag) {  //挑出循环
System.out.println(i);
break; 

}  

}

输出结果为3121

2016-5-11,这上面有个错误,应该是(sum-1)/5*4的,但是不影响结果,因为定义的是int类型数据,除以5得到的数的XX.5,0.5被舍掉了.

0 0
原创粉丝点击