2个人去旅游,一人买了一个一模一样的古董,由于回来上飞机时被弄碎了,他们要求航空公司索赔,经理答应他们赔偿,但不知道古董的价格,如果问他们俩,担心他们会狮子大开口,于是想了一个办法,把2人叫开,分别问古董价格(2-100),如果2人回答一致,就按这价格赔偿,如果不一致,则按照低的那方为标准赔偿,并给报价低的2元奖励,报价高的减2元,比如A报48元,B报100,则以48为标准,同时A奖励2元,得50,B减2元,得46~请问如果你是其中一人,你怎样报价感觉合?适?并说明理由、

解决方案 »

  1.   

    对策论的问题哈。
    不知道怎么解答。
    我在Excel里画了一下。
    2 3 4 5 6 7 8 9 10
    2 2 4 4 4 4 4 4 4 4
    3 0 3 5 5 5 5 5 5 5
    4 0 1 4 6 6 6 6 6 6
    5 0 1 2 5 7 7 7 7 7
    6 0 1 2 3 6 8 8 8 8
    7 0 1 2 3 4 7 10 9 9
    8 0 1 2 3 4 5 8 10 10
    9 0 1 2 3 4 5 6 9 11
    10 0 1 2 3 4 5 6 7 10两个人都应该回答,价值2元。
    这样至少每个人可以得到2元。
      

  2.   

    首先两个人必须说相同的数字,否则有一个人绝对会陪,我们现在假如他们自己都不知道真实的价格,只知道2-100之间
    public class TestInteger
    {
        public static void main(String[] args)
        {
            for (int a = 2; a < 101; a++)
            {
                for (int b = a; b <= a; b++)
                {
                    getPrice(a, b);
                }
            }
            
        }
        
        private static void getPrice(int a, int b)
        {
            int bSum = 0;
            int aSum = 0;
            System.out.println("a :" + a + "***" + "b :" + b);
            if (b < a)
            {
                bSum = b + 2;
                aSum = a - 2;
            }
            else
            {
                bSum = b;
                aSum = a;
            }
            for (int price = 2; price < 101; price++)
            {
                System.out.println("a可以多拿" + (aSum - price) + "元。" + "********"
                    + "b可以多拿" + (bSum - price) + "元。");
            }
        }
    }
    运行结果
    只有当2个人都说100的时候不会出现负值
    大家看下逻辑是否正确- -
      

  3.   

    我上面的b循环故意让b=a的,因为在b=2开始的情况下,a大于b的情况下a始终都会比比少拿4块,或者赔的更多
      

  4.   


    这个程序问题太大了
    for (int a = 2; a < 101; a++)
            {
                for (int b = a; b <= a; b++)
                {
                    getPrice(a, b); //这里的a和b永远是相等的时候进入方法getPrice,也就是说两个人永远都说同一个价,这样当然是都说100最大了
                }
            }
      

  5.   

    我下面说了,如果b从2开始,a会出现负值你可以把b=a改成b=2试试
      

  6.   

    我是12楼,这个问题真的让人寝食难安。
    从题目上来看,似乎有这样的假定。甲和乙都不知道对方的报价。而且甲和乙都明白航空公司的赔偿规则。
    否则没法继续讨论下去了。我在12楼画的图有点错位,把这个图拓展到98*98个格子。横纵格子都是2到100。当乙选择某个策略时,甲的最优解所在的策略是变动的。
    从数字上看,甲不存在某个策略,这个策略比其他所有的策略都强。假设乙随机选择策略。
    那甲选择报价x,则甲拿到的钱的期望是 ((100-x)*(x+2)+x+(x-2)(x-3)/2)/100,
    其中,(100-x)*(x+2)代表甲的报价低于乙的数目乘以甲的收益,+x代表报价相等的部分,+(x-2)(x-3)/2代表甲的报价高于乙的部分,也就是0..,0,0,1,2,3直到x-3的求和。整理得到(-x^2+193x+406)/200
    配方,得到(-(x-193/2)^2+...)/200
    档x-193/2最小时,这个值最大。
    所以x=96或者x=97时。我这么计算对吗?我也更加迷茫了。