知津

木桶倒水问题-某次程序员笔试题
原题大概是这样的:有一个池塘,现在有两个水桶,分别是7升和8升的,但是要求装四升水,如何解决?解:假设1:将7升桶...
扫描右侧二维码阅读全文
07
2019/04

木桶倒水问题-某次程序员笔试题

原题大概是这样的:有一个池塘,现在有两个水桶,分别是7升和8升的,但是要求装四升水,如何解决?
解:

假设1:

将7升桶命名为a,8升桶命名为b,
1.首先a装满a=7,b不装满b=0,将a倒入b中,b=7,a=7-7=0,;
2.再次将a装满,a给b加满,此时b=7+1=8,a=7-1=6,;
3.将b中水倒出,b=0,再将a的6升水倒入b中,则b=6,a=6-6=0;
4.此时a再次装满,a=7,a给b加满,b=6+2=8,a=7-2=5;
5.将b的水倒出,b=8-8=0;将a的水倒入b中,b=5,a=5-5=0;
6.将a装满,a=7;a给b加满,b=5+3=8,a=7-3=4;
此时a取得4升水。

假设2:

将7升桶命名为a,8升桶命名为b,
1.首先b装满b=8,a不装满a=0,将b倒入a中,a=7,b=8-7=1;
2.将a的水倒出,a=7-7=0;将b的水倒入a中,a=1,b=1-1=0;
3.将b装满,b=8,将b的水倒入a中,a=1+6=7;b=8-6=2;
4.将a的水倒出,a=7-7=0;将b倒入a中,a=2,b=2-2=0;
5.将b装满,b=8;将b倒入a中,a=2+5=7;b=8-5=3;
6.将a的水倒出,a=7-7=0;将b的水倒入a中,a=3,b=3-3=0;
7.将b装满,b=8,将b的水倒入a中,a=3+4=7;b=8-4=4;
此时b取得4升水。

Last modification:April 7th, 2019 at 11:57 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment