首页 > 代码库 > 有两杯,一个11L一个7L,水任用,得到2L 的详细解法

有两杯,一个11L一个7L,水任用,得到2L 的详细解法

问题:有两个水杯,一个是11L一个是7L,水可以随便用,怎么得到2L

 

1.了解问题的本质

问题中给出了两个杯子,只有这两个杯子有量度,所以只能让杯中的水满进满出才能确定杯子中最后有多少水。

现在问题要求通过两个杯子中水的倒进倒出,最后正好多出2L。

我们不难想到,想要得到这2L,有两种方式:

1》给11L装满,然后倒进7L,然后剩下的倒进7L,再给11L倒满……(简单说:从11L满进,从7L满出)

2》给7L装满,然后倒进11L,然后剩下的倒进11L,再给7L倒满……(简单说:从7L满进,从11L满出)

2.建立模型

1》假设11L满进了x次,7L满出了y次,则我们可以设立二元一次方程:

11x-7y=2

2》假设7L满进了x次,11L满出了y次,则我们可以设立二元一次方程:

7x-11y=2

3.求解方程的最优解

1》11x-7y=2

11 Mod 7  = 4  

因为   2*4 Mod 7  = 1 

所以   4*4 Mod 7 = 2

所以4*11  Mod 7 = 2

x = 4  ,y  =  (4* 11 - 2)/7 = 6

2》  同理可得:7x-11y=2      中   x=5  y =3

 

4.结合问题

1》11L满进倒入7L,7L满出,再倒入剩下的,11L再满进……

技术分享

1》7L满进倒入11L,7L再满进,倒入11L满为止,11L再满出,再倒入剩下的,7L再满进……

技术分享

5.总结

对于这一类问题,都可以采用以上的方式进行求解。谢谢!

有两杯,一个11L一个7L,水任用,得到2L 的详细解法