/**
* 泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。
有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:
“韩信走马分油”问题。
有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。要求你只用3个容器操作,最后使得某个容器中正好有6升油。
下面的列表是可能的操作状态记录:
12,0,0
4,8,0
4,3,5
9,3,0
9,0,3
1,8,3
1,6,5
* @author wangmeng
*
*/
public class 泊松分酒 {
static int a1 = 12 ;//瓶子1的ring容量
static int a2 = 8 ;//瓶子2的容量
static int a3 = 5 ;//瓶子3的容量
public static void main(String[] args) {
分酒(12,0,0,6);//开始搜索
}
private static void 分酒(int cur1, int cur2, int cur3, int m) {//cur1,cur2,cur3,是当前各个瓶子中的酒量
System.out.println(cur1 + "," +cur2 + "," + cur3);
if(cur1==m||cur2==m||cur3==m){
System.out.println("分酒完成 !");
return ;
}
if(cur2!=0&&cur3!=a3){//瓶子2有酒并且瓶子3不满,从2中给3中倒
if(cur2 + cur3 <= 5){//2中和3中的酒之和<=瓶子3的容量,则把2中所有的酒倒入3中
分酒(cur1,0,cur2+cur3,6);
}else{
分酒(cur1,cur2-(5-cur3),a3,6);
}
}
else if(c
泊松分酒(泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。 有一次闲暇时,他提出过一个有趣的问题,后称为:)
最新推荐文章于 2021-02-13 18:51:55 发布