黑马程序员技术交流社区
标题:
渔夫打鱼问题?代码已经写好,请大家指出不足之处!!!
[打印本页]
作者:
TW莞尔一笑
时间:
2014-12-31 10:51
标题:
渔夫打鱼问题?代码已经写好,请大家指出不足之处!!!
/*
渔夫出海大鱼,收获若干
1.渔夫卖掉一半的鱼,然后送给邻居海伦3条。
2.渔夫又卖掉剩下的鱼的3分之2,自己又吃了一条
3.海伦来看渔夫,问他那天打了多少鱼,渔夫数了数,家里还剩下4条,渔夫对海伦怎么说呢?
*/
class FishMan {
public static void main(String[] args) {
sumFish();
}
public static void sumFish() {
int total = 8;//总共的鱼,至少有8条=邻居的海伦3条+又吃了一条 + 剩下4条
int left = 0;//剩下的鱼
do {
int soldleft = total / 2;//第一次卖掉一半后剩下的
int firstLeft = soldleft - 3;//送掉邻居海伦剩下的
if(firstLeft % 3 == 0){
left = firstLeft/3 - 1;// 三分之一里面-吃掉的一条
if(left == 4 ){
System.out.println("一共有: " + total + " 条鱼");
}
}
total += 2;//刚开始能平均2份,因此鱼数必定是偶数,步长为2
} while (left != 4);
}
}
复制代码
作者:
王晓杰
时间:
2014-12-31 11:59
你是不是写错了!? 如果我把最后的剩下的鱼改成其他的数字例如8 160 那?!
作者:
TW莞尔一笑
时间:
2014-12-31 12:36
王晓杰 发表于 2014-12-31 11:59
你是不是写错了!? 如果我把最后的剩下的鱼改成其他的数字例如8 160 那?! ...
家里还剩4条鱼,为什么要把它改成8和160?剩下的不是4条鱼就继续循环...
作者:
zhaojiajun
时间:
2014-12-31 15:59
感觉思路没什么问题,运行结果也正确,暂时没有发现问题
作者:
dream_style
时间:
2015-1-1 10:56
学习了:lol
作者:
czwanglei
时间:
2015-1-2 09:31
版主过来看看,写的真好。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2