一道创新工场面试题详解:共打了多少鱼?
2013-05-02 16:42
295 查看
一道创新工场面试题详解:共打了多少鱼?
题目:
abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的均分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的均分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼?
解法:
这道题共打了多少鱼的结果有很多,但求最少打的鱼的结果是3121条鱼。
可以验证一下3121结果是否正确。
a开始拿鱼: (3121 - 1) / 5 = 625
同理,bcde分别获得的鱼数(不包括其扔掉的鱼)b:499 c:399 d:319 e:255。
这道题最简单的方法就是枚举,从最小值开始,下面以JAVA代码来实现:
运行上面的程序,会输出如下三行信息:
共钓了3121条鱼 a:624 b:499 c:399 d:319 e:255 最后剩余1020条鱼 扔了5条鱼
共钓了6246条鱼 a:1249 b:999 c:799 d:639 e:511 最后剩余2044条鱼 扔了5条鱼
共钓了9371条鱼 a:1874 b:1499 c:1199 d:959 e:767 最后剩余3068条鱼 扔了5条鱼
题目:
abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的均分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的均分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼?
解法:
这道题共打了多少鱼的结果有很多,但求最少打的鱼的结果是3121条鱼。
可以验证一下3121结果是否正确。
a开始拿鱼: (3121 - 1) / 5 = 625
同理,bcde分别获得的鱼数(不包括其扔掉的鱼)b:499 c:399 d:319 e:255。
这道题最简单的方法就是枚举,从最小值开始,下面以JAVA代码来实现:
public class Test { public static void main(String[] args) { int[] everybody_fish=new int[5]; int[] temp=new int[5]; for(int x=1;x<=1000;x++) { int sum=0; int i=0; for(i=0;i<everybody_fish.length;i++) { temp[i]=(x-1-sum)%everybody_fish.length; if(temp[i]!=0) break; everybody_fish[i]=(x-1-sum)/everybody_fish.length+1; sum+=everybody_fish[i]; } if(i==everybody_fish.length) { System.out.print("共钓了"+x+"条鱼"); for(i=0;i<everybody_fish.length;i++) { System.out.print((char)('a'+i)+":"+(everybody_fish[i]-1)+" "); } System.out.print("最后剩余"+(x-sum)+"条鱼"); System.out.print("扔了"+everybody_fish.length+"条鱼"); } } } }
运行上面的程序,会输出如下三行信息:
共钓了3121条鱼 a:624 b:499 c:399 d:319 e:255 最后剩余1020条鱼 扔了5条鱼
共钓了6246条鱼 a:1249 b:999 c:799 d:639 e:511 最后剩余2044条鱼 扔了5条鱼
共钓了9371条鱼 a:1874 b:1499 c:1199 d:959 e:767 最后剩余3068条鱼 扔了5条鱼
相关文章推荐
- 创新工厂面试题详解:共打了多少鱼
- 一道面试题,总共能喝多少瓶啤酒
- Java常量池详解之一道比较蛋疼的面试题
- 简单一道排序题,考倒多少读书人!——从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战就业!
- Java常量池详解之一道比较蛋疼的面试题
- 创新工厂面试题详解:共打了多少鱼
- Integer的一道面试题详解
- 创新工厂面试题详解:共打了多少鱼
- 创新工厂面试题详解:共打了多少鱼
- 创新工厂面试题详解:共打了多少鱼
- 创新工厂面试题详解:共打了多少鱼 -- 正解 递归求解法
- 一道百度面试题---200元的组合方式有多少
- Java常量池详解之一道比较蛋疼的面试题
- java--常量池详解之一道比较蛋疼的面试题
- 也谈 创新工厂面试题详解:共打了多少鱼
- 一道面试题:用多线程求1000以内的素数有多少个?并给出消耗时间
- 简单一道排序题,考倒多少读书人!——从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战就业!
- 由一道面试题引发的 HttpModule,HttpHandler与IHttpAsyncHandler 详解
- 昨天遇到的一道JavaScript面试题,求y和z的值是多少
- Java常量池详解之一道比较蛋疼的面试题