于是python验证蒙提霍尔题材。搜狐2017实习生笔试题_概率问题。

当时对这个问题也是似懂非懂,这题跟经典的三门问题很像

初见到这问题是初中的时候买了同等比照有关数学谜题的写中概率论的相同摆的课后开展就是说到三门问题,当时看成一个恢弘阅读看了一下,里面说交了一个社会风气智慧高的女人秒杀了美国一大群的数学高材生的大好故事(比较夸张),当时本着是问题啊是像懂非懂。

一、题目

工程师 M 发明了平栽游戏:M
将一个小球随机放入完全相同的老三独盒子中的某部一个,玩家选中装有球的盒子就获胜;开始时
M 会被玩家选择一个盒子(选择其它一个获胜概率都为 1/3
);玩家做出取舍后,M 会打开没有为选的简单单盒子中的一个空盒,此时 M
会询问玩家是否变动选择(可以坚持首先不成选择,也可以挑选任何一个尚无打开的盒子),下列叙述正确的发出()。

A. 改选后,玩家力克的几率还是 1/3
B. 若未更改选择,玩家的获胜概率是 1/2
C. 无论怎么取舍,获胜的票房价值都是 1/2
D. 坚持原来的挑获胜概率再胜
E. 选择其它一个并未叫打开的盒子获胜概率再胜似
F. 获胜概率在随机因素(如小球的实际位置)

哟是蒙提霍尔问题?

图片 1

承提霍尔

承提霍尔问题,亦曰蒙特霍问题要么三门问题(英文:Monty Hall
problem),是一个源自博弈论的数学游戏题材,大致出自美国的电视机游戏节目Let’s
Make a Deal。问题的讳源于该节目之召集人蒙提·霍尔(Monty Hall)。

头的抒发是:

参赛者会映入眼帘三鼓关闭了的流派,其中同样鼓的末端来同一部汽车,选中后面有车的那么扇门就得拿走该汽车,而除此以外两扇门后面虽然各藏有平等独自山羊。当参赛者选定了同等扇门,但不去开它的时节,节目主持人被剩下零星扇门的内同样鼓,露出里面同样只山羊。主持人其后会见咨询参赛者要无使更换另一样扇仍然关上的派。
题目是:换另外一样扇门会否增加参赛者赢得汽车的机会率?

斯古老的题目如提出就招了炽烈的争论,有人当换与不换最终赢得车的几率都是1/2,有人觉得换门之晚得交车的概率再可怜,应该选择换门之晚得交车之票房价值为2/3在撰写这首稿子的时节以果壳上还有人口在啊者争吵,知乎上也发出成百上千有关这上面的讨论,其实这些争议很多场面下还是以这题材之混淆表述所引的,关键点在于召集人于门后的景是不是了解

  1. 要主席事先知道哪位门里有山羊并且他专门挑选了出山羊的派系打开了,那么参赛者应该换其它一样扇门,这足以拿他胜之几率从1/3升高至2/3
  2. 一经主席事先不知情哪个门里有山羊或者他只是随便的挑三拣四了一个门户,但实情发现其间恰好是山羊。这时候参赛者没有换门的必不可少,胜利概率总是1/2

为了继续之议论,这里运用维基百科达成对于这一个问题之不马虎的定义

严峻的表达如下:

  • 参赛者在三扇门被选择一鼓。他并不知道内里来什么。
  • 主席知道各个扇门后面来啊。
  • 主持人要开剩下的中间同样鼓门,并且要提供换门的机遇。
  • 主持人永远都见面挑一样扇有山羊的山头。
    • 而参赛者挑了同等鼓有山羊的派,主持人要挑另一样扇有山羊的宗。
    • 一旦参赛者挑了扳平鼓有汽车之帮派,主持人随机在另外两鼓门遭到挑一样鼓有山羊的宗派。
  • 参赛者会受问是不是保持他的本选取,还是移而选择剩下的那么一道门。

那这题目立即好充分好的懂得了,引用维基的等同幅图片解析:

图片 2

承提霍尔解答

有三栽可能的状,全部还来相当的可能(1/3):

  • 参赛者挑汽车,主持人挑个别条羊之其它一样条。转换将败。
  • 参赛者挑A羊,主持人挑B羊。转换将获取汽车。
  • 参赛者挑B羊,主持人挑A羊。转换将取汽车。

故玩家选择换门之后获胜的几率应为2/3

二、解题

一如既往开始看到此开的时刻,本人坚决的取舍了 A
,然后再次细致思量了一下,不对啊,这题和经典的三门题材格外像,而且为要解玩家首先不成选择以及是否改变选择的鲜单事件非是互独立的,因此答案不是者了,具体答案是呀也?也接读者留言写下好的见解。

况且答案之前,先来询问一下经的三门问题:

三门问题( Monty Hall problem
)亦称作蒙提霍尔题材、蒙特霍题材要蒙提霍尔悖论,大致出自美国之电视娱乐节目
Let’s Make a Deal 。问题名字源于该节目之主持人蒙提·霍尔( Monty Hall
)。参赛者会映入眼帘三扇关闭了之宗,其中同样鼓的后边来雷同辆汽车,选中后面有车之那扇门可收获该汽车,另外两扇门背后虽然各藏有一致就山羊。当参赛者选定了千篇一律扇门,但切莫去开它的时光,节目主持人打开剩下零星扇门的内部同样鼓,露出里面同样特山羊。主持人其后会见问参赛者要无使转移另一样扇仍然关上的门。问题是:换其它一样鼓门会吗增加参赛者赢得汽车的机率?如果严格按照上述的原则,即主持人清楚地掌握,哪扇门后是羊,那么答案是会。不换门的话,赢得汽车的几引领是1/3。换门的话,赢得汽车的几乎统领是2/3。
夫问题也于誉为蒙提霍尔悖论:虽然该问题之答案在逻辑上连无打相抵触,但要命背直觉。这题目已经引起阵阵霸气的讨论。

证明?

图片 3

蒙提霍尔解答

定义:

  • 事件A啊同上马玩家选择的平等鼓门
  • 事件H为终极门后的结果

  • 设若是拣未换门的政策

因选择的是不交换的国策,所有只出相同开端选中的是汽车,最后才能够入选汽车。

  • 择交换门的策略

因为选择的是换成的方针,所有只出一样始选中的是羊,最后才会入选汽车。

三门题材的解法:

三门问题共发三种植可能性:
(1)参赛者挑山羊一样声泪俱下,主持人挑山羊二号。转换将获取汽车。
(2)参赛者挑山羊二号,主持人挑山羊一样哀号。转换将获汽车。
(3)参赛者挑汽车,主持人挑羊一号。转换将失败和参赛者挑汽车,主持人挑羊二号。转换将破产,不见面沾汽车。

此而顾了,第三种植可能性的当儿,概率还是 1/3 ,因为
1/31/2+1/31/2=1/3 ,所以地方的老三种可能性还是相等的,都是 1/3
。从达成迎的老三种植情形好看来,如果参赛者重新选择外一样扇门的语句,
得到汽车之概率就见面成为 2/3
,所以又选择会愈来愈的福利。一开始这解释都无见面让人口认的,因为此时咱们尚在纠结的凡相同开始分配的概率是1/3,然后去除了一个尚无汽车的门后,两个选项,所以概率就是
1/2 ,还有同种植纠结就是凭我们怎么取舍,三栽情况,每次挑的票房价值都是 1/3
啊,当然,第二种选择生容易就吃推翻了,因为主席明确的删减了一个免见面收获汽车之家,因此概率不会见是
1/3
的。一开始自己呢于纠结者,查了瞬间,就藏的解释就是是拿家的数码净增,比如:

如今张在我们眼前的来100鼓门,只出中同样扇门后是汽车,而任何的99鼓门后都是山羊。好了,你选择中一扇门。自然,你挑汽车之几率就出1/100。

然后,知道汽车存放处的主持人一口气打开了99鼓门遭到之98鼓,其后面还是山羊。此时公可以坚持最初的取舍,也堪改选择。你是不是当改成选择?你是否还觉得于你初选择的宗和其他99鼓门遭到绝无仅有无打开的那么扇门背后有汽车之概率是平的?

实是,如果你拒绝改变,你只有在一如既往开端便选了科学的家的情景下才会得汽车,这个概率就发生1%。在另外99%之气象下,你头选择的凡一个后头是山羊的派别,而除此以外的98鼓已经开辟,你这转初期的抉择虽可以成功。所以,在99%的概率下,改变选择是不利的。

三门问题是一个悟性选择和时机博弈问题,是有关休全信息博弈中安正确理解概率的意思和几率变化之题目。可见此题目我们精心雕刻一下,还是可以做出正确的选择的。

众所周知是还是不可知无限让人口受,因此写个 JAVA 程序来模拟一下夫情景:

package com.liangdianshui;

import java.util.Random;

public class MontyHallProblem {

    public static void main(String[] args) {
        // 重复五次
        for (int i = 0; i < 4; i++) {
            montyHallProblem();
            System.out.println("----------------------------------");
        }
    }

    public static void montyHallProblem() {
        Random random = new Random(); // 这里不讨论Random为伪随机的问题
        int changeCount = 0;
        for (int i = 0; i < 1000000.0f; i++) { // 模拟一百万次
            // 假设有三个门
            int[] doors = new int[3];

            // 随机抽取一扇门 ,在门后放奖品
            int rIndex = random.nextInt(3);
            doors[rIndex] = 1;

            // 观众选的门号
            int randomSelect = random.nextInt(3);

            // 主持人从剩下的两扇门中排除一个
            while (true) {
                int randomDelete = random.nextInt(3);
                // 主持人不会打开参赛者已经选了的门(排除参赛者选择的门)
                if (randomDelete == randomSelect) {
                    continue;
                }
                // 主持人不会打开有奖品的门(排除有奖品的门)
                if (doors[randomDelete] == 1) {
                    continue;
                }

                for (int j = 0; j < 3; j++)// 换门
                {
                    if (j == randomSelect)// 不换门(因为我们要得到的是换门的概率,因此把不换门的排除掉)
                        continue;
                    // 排除主持人打开了那个门(因为门已经打开,所以不能换,排除掉)
                    if (j == randomDelete)
                        continue;
                    if (doors[j] == 1) {
                        changeCount++;// 换了门后中奖的次数
                        break;
                    }
                }
                break;
            }
        }
        System.out.println("换门中奖率:" + changeCount / 1000000.0f);
    }

}

说到底运行的结果:

图片 4

三门问题JAVA运行结果

据悉结果可见,这里还了季蹩脚,每次都效仿了一百万蹩脚的选择换门的情,发现换门中奖的概念都是
0.66 左右,也即是 2/3 。

先后验证

推行是稽查真理的唯一标准,在流言终结者看到他俩人工再这实验区验证,发现这么充分浪费时间。何通过计算机去去学这无异段过程也?
下采用python程序来效仿这同样段子过程:

from __future__ import division
import logging
from matplotlib import pyplot as plt
import numpy as np
import random


class MontyHall(object):
    """docstring for MontyHall"""

    def __init__(self, num=3):
        """
        创建一个door列表
        0 代表关门
        1 表示后面有车
        -1 代表门被打开
        """
        super(MontyHall, self).__init__()
        self.doors = [0] * num
        self.doors[0] = 1
        self.choice = -1
        self.exclude_car = False
        self.shuffle()

    def shuffle(self):
        """  
        开始新游戏
        重新分配门后的东西
        """
        if self.exclude_car == True:
            self.doors[0] = 1
            self.exclude_car = False
        for i in xrange(len(self.doors)):
            if self.doors[i] == -1:
                self.doors[i] = 0
        random.shuffle(self.doors)

    def make_choice(self):
        """
        player随机选择一扇门
        """
        self.choice = random.randint(0, len(self.doors) - 1)
        logging.info("choice: %d" % self.choice)
        logging.info("original: %s" % self.doors)

    def exclude_doors(self):
        """
        主持人知道门后的情况排除门
        直到剩余两扇门
        """
        to_be_excluded = []
        for i in xrange(len(self.doors)):
            if self.doors[i] == 0 and self.choice != i:
                to_be_excluded.append(i)  
        random.shuffle(to_be_excluded)
        for i in xrange(len(self.doors) - 2):
            self.doors[to_be_excluded[i]] = -1
        logging.info("final: %s" % self.doors)

    def random_exclude_doors(self):
        """
        主持人并不知道门后面的情况随机的开门
        直到剩余两扇门
        """
        to_be_excluded = []
        for i in xrange(len(self.doors)):
            if self.doors[i] != -1 and i != self.choice:
                to_be_excluded.append(i)  
        random.shuffle(to_be_excluded)
        for i in xrange(len(self.doors) - 2):
            if self.doors[to_be_excluded[i]] == 1:
                self.exclude_car = True
            self.doors[to_be_excluded[i]] = -1
        logging.info("final: %s" % self.doors)

    def change_choice(self):
        """
        player改变选择
        """
        to_change = []
        for i in xrange(len(self.doors)):
            if self.doors[i] != -1 and i != self.choice:
                to_change.append(i)
        self.choice = random.choice(to_change)
        logging.info("choice changed: %d" % self.choice)

    def random_choice(self):
        """
        player 第二次随机选择门
        """
        to_select = []
        for i in xrange(len(self.doors)):
            if self.doors[i] != -1:
                to_select.append(i)
        self.choice = random.choice(to_select)
        logging.info("random choice : %d" % self.choice)


    def show_answer(self):
        """
        展示门后的情况
        """
        logging.info(self.doors)

    def check_result(self):
        """
        验证结果
        """
        got_it = False
        if self.doors[self.choice] == 1:
            got_it = True
        return got_it

总结

可见我们是面试题和三门问题着力均等,所以最后挑选的答案是E,也就是选其它一个尚无给辟的盒子获胜概率又胜似。因为自也没法定的答案,如果发生异议的话,可以开展留言。或者来摩擦的地方,也不过进行留言指出,本人会第一时间进行更改。

仿照1000车轮,每一样轮子再试验1000次

  • 未改变选择:

def unchange_choice_test(n):
    """
    不改变初始的选择
    """
    result = {}
    game = MontyHall()
    for i in xrange(n):
        game.shuffle()
        game.make_choice()
        game.exclude_doors()
        if game.check_result():
            result["yes"] = result.get("yes", 0) + 1
        else:
            result["no"] = result.get("no", 0) + 1
    for key in result:
        print "%s: %d" % (key, result[key])
    return result["yes"] / n

if __name__ == '__main__':
    logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.WARNING)
    results = []
    test_num = 1000
    round_num = 1000
    for x in xrange(0,round_num):
        results.append(change_random_test(test_num) )

    y_mean = np.mean(results)
    y_std = np.std(results)
    x = range(0,round_num)
    y = results
    plt.figure(figsize=(8,4))

    plt.xlabel("round")
    plt.ylabel("frequency")
    plt.title("The frequency of the success")
    tx = round_num / 2
    ty = y_mean
    label_var = "$\sigma \left( X \\right)=$%f" % y_std
    label_mean = "$ X =$%f" % y_mean
    p1_label = "%s and %s" % (label_var,label_mean)
    p1 = plt.plot(x,y,"-",label=p1_label,linewidth=2)
    plt.legend(loc='upper left')


    pl2 = plt.figure(2)
    plt.figure(2)
    plt.hist(results,40,normed=1,alpha=0.8)
    plt.show()

结果:

图片 5

此输入图片的描述

概率分布:

图片 6

这里输入图片的叙述

打响之几率都值在 1/3 附近

  • 转移选择:

def change_choice_test(n):
    """
    交换选择的门
    """
    result = {}
    game = MontyHall()
    for i in xrange(n):
        game.shuffle()
        game.make_choice()
        game.exclude_doors()
        game.change_choice()
        if game.check_result():
            result["yes"] = result.get("yes", 0) + 1
        else:
            result["no"] = result.get("no", 0) + 1
    for key in result:
        print "%s: %d" % (key, result[key])
    return result["yes"] / n

平等的不二法门绘图得到结果:

图片 7

此输入图片的叙说

概率分布:

图片 8

这里输入图片的讲述

事业有成之几率都值在 2/3 附近

透过上面的辨析及学可知最佳的国策当然就换门。

更是入木三分之座谈

  • 倘若家的多少持续是3只,如果是50扇门为?

图片 9

此间输入图片的描述

这种情形下,主持人打开48扇都是羊之门后,再为您选,很多人是时刻该就是不会见固守那1/2,而会选换门
管家的数据增大至100,1000,这种情况会更加不言而喻。
或经过一样段先后模拟说明:

def change_choice_test_large(n,m):
    """
    交换选择的门
    """
    result = {}
    game = MontyHall(m)
    for i in xrange(n):
        game.shuffle()
        game.make_choice()
        game.exclude_doors()
        game.change_choice()
        if game.check_result():
            result["yes"] = result.get("yes", 0) + 1
        else:
            result["no"] = result.get("no", 0) + 1
    for key in result:
        print "%s: %d" % (key, result[key])
    return result["yes"] / n


if __name__ == '__main__':
    logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.WARNING)
    results = []
    test_num = 1000
    round_num = 1000
    for x in xrange(0,round_num):
        results.append(change_choice_test_large(test_num,50) )

结果:

图片 10

图片 11

这时就要挑交换门

  • 逢这种情景本身深疑惑,我控制委硬币决定,这个时段成功的概率?

即是第3种植政策,成功之概率和硬币有关,也就是是1/2,这种状态便是由剩下的门中随机挑选相同扇,这个政策从地方分析来拘禁无是绝好的,但是于无转之方针要好。
次第的效仿结果:

图片 12

此输入图片的叙说

图片 13

这里输入图片的讲述

  • 按门意外打开的状态为,也就是端描述的亚种情况(主持在不知门后的场面下打开门也)?

这种情形下实际就是是一个准概率,事件A是玩家最后开到之是车,事件B是主席打开的流派是羊。

盖只有主席开始到是羊的情事下,玩家才出或上马至车所以

一旦玩家首先浅选择的门为事件C

  • 非交换策略下的规则概率是:

QQ截图20150510140602.png

  • 换成策略下的条件概率是:

因此当主持人不知底门后的情景下开辟一鼓,然后发现门后是羊的场面下,换门与不换门最终之票房价值都是1/2
或者得通过序开展模拟:

def unknown_doors_choice_test(n):
    """
    主持人并不知道门后面的情况随机的开门
    交换选择的门
    """
    result = {}
    game = MontyHall()
    continue_count = 0
    for i in xrange(n):
        game.shuffle()
        game.make_choice()
        game.random_exclude_doors()
        game.change_choice()
        if game.exclude_car == False:
            continue_count += 1
        if game.check_result():
            result["yes"] = result.get("yes", 0) + 1
        else:
            result["no"] = result.get("no", 0) + 1
    #for key in result:
    #    print "%s: %d" % (key, result[key])
    logging.info("continue_count: %d" % continue_count)
    if continue_count == 0:
        return 0.0
    return result["yes"] / continue_count   

图片 14

这边输入图片的叙述

图片 15

此地输入图片的叙说

每当这种气象下交换门也无晋级成功之票房价值


总结

今天写的即刻篇东西啊好不容易了解自我童年底一个不满,人之直觉有时候是生不可靠,要摆脱个人局限的体味才会抱抱更甚的世界。
嗬?看了这些分析,你还认为不好听那你还足以于下边的参考中检索再好的分析,本文撰写过程有有的图纸引用自一下底参考,如果你还产生问号欢迎您关系自己越的讨论。

练习

脚是三门问题之点滴独翻版,引用自三门题材和有关:

女孩的几率

  • 你结交一各类新情人,问她是不是出男女。她说有,有有限个。你问,有女孩吧?她说生。那么,两只都是女孩的票房价值是有点?

报:三分之一。因为生两个男女的可能有四栽等或:BB、GG、BG、GB(即男男、女女、男女、女男)。
因为我们已清楚至少发生一个幼女,所以BB是勿可能的。因此GG是可能出现的老三单顶可能的结果之一,所以个别独孩子还是姑娘的概率也三分之一。这对诺了三门题材的率先种状况。

  • 乃结交一各项新情人,问它是否来儿女。她说有,有半点独。你问,有女孩也?她说出。第二天,你看见它带了一个小女孩。你问问她,这是若丫吧?她说,是。她底星星点点个男女还是女孩的几率是不怎么?

本条概率和特别女孩的概率一样,二分之一。这犹如好奇怪,因为我们所负有的音看起并无可比第一种植情形时常多,但概率也不比。但是此地的问题莫过于是,那个你未曾>见了之男女是女孩的几率是稍微?这个概率和酷女孩的票房价值一样,二分之一。
当即对承诺了三门问题之老二种植状态。当然这里呢发语言问题,必须使这号妈妈不是特定带起一个小女孩来为您看之。也就是说你才是刚发现了她是各类小女孩。这在是判断选择
或q
随机选。如果是吃您碰巧遇上见这是属于擅自选择。这就对准许了三门题材的亚种状态。这实际是长了音的。否则如果它积极带一个略女孩过来吃您,则属于判断选择。
汝得的答案依赖让所讲的故事;它凭借让公是什么获悉至少一个男女是女孩的。

其三罪人问题

  • 亚当、比尔和查尔斯给牵涉在一个看守所里,只有监狱看守知道哪个会于判定死缓,另外两各将会放。有1/3的几率会受处死刑的亚当,给他娘写了平查封信,想要释放的比尔或查尔斯帮忙代寄。当亚当问看守他当将他的归依交给比尔或者查尔斯时,这员有同情心的防御好窘迫。他觉得要他管将要获释的总人口之名字告诉亚当,那么亚当就会见起1/2之几率为判定死缓,因为剩下的人头同亚当这半人数饱受必然有一个人口吃处死。如果他不说这消息,亚当被行刑的概率是1/3。既然亚当知道其他两丁面临必定出平等总人口会面放出,那么亚当自己被处决的概率怎么可能会见因守告诉他外两人受让获释者的人名后如更改啊?

是的的答案是:看守不用当心,因为就是把自由人之全名告诉亚当,亚当于杀的几率仍是1/3,没有改动。但是,剩下的那位没被点名的口便发生2/3之几率为行刑(被行刑的可能性升高了)。如果此题材易一种植说法,就是防守无意间说有了查尔斯不会见十分。那么几率就会发反。
是实际与三门题材是同等的。你可拿狱卒当成主持人,被处决当成是大奖,那么这是对准应于三门问题之第一栽状况,就是主持人知道门后面的气象。狱卒说出谁会吃放走,相当给主席打开一扇门。但是因为三囚徒问题无能够选择,也就算一定给三门问题屡遭之非换门的政策。最终的票房价值还是1/3凡是绝非发反之。
为避免起歧义,规定一下:
1.若(亚当,查尔斯)被放飞,那么狱卒会告知亚当:”查尔斯于假释”。
2.设(亚当,比尔)被放,那么狱卒会告诉亚当:”比尔为放出”
3.一旦(查尔斯,比尔)被放飞,那么狱卒会以1/2之票房价值告诉亚当:”查尔斯被释放”或者”比尔为假释”
意就是充分显了,在看守说发比尔为放出的准绳下,亚当为放走的票房价值是?用极概率算一下。
概念事件:

A :狱卒说出”比尔为保释”
B :代表亚当于放。

图片 16

那么什么时才是1/2之几率为?
平整3更改为:如果(查尔斯,比尔)被释放,那么狱卒会报告亚当”比尔给假释”
其一时候计算就是:

图片 17

那如规则3改成吧:如果(查尔斯,比尔)被放走,那么狱卒会告诉亚当”查尔斯被放飞”
此时段:亚当被假释的概率就见面成1
题目在于规则2跟规则3下说”比尔为放出”不是相当概率发生的。

看似的题材还有

  • 丢两枚硬币里起雷同朵硬币是端正,问两枚硬币都是端庄的票房价值是?
  • 丢掉两枚硬币里第一朵硬币是正当,问两枚硬币都是端正的票房价值是?

the end.


参考:

  1. 承提霍尔问题 –
    维基百科,自由之百科全书

  2. 其三鼓门问题 |
    左岸读书

  3. 蒙提霍尔问题(又如三门题材、山羊汽车问题)的正解是什么?

  4. 情趣编程:三门问题

  5. 三门题材与连锁

  1. 改换还是匪移?争议没有止过之三门问题

  2. 当「三门题材」中,参与者应该选「换」还是「不转换」?主持人是否知道门后情形对结论有哪里影响?

  3. THE MONTY HALL
    PROBLEM

  4. 流言终结者第九季

  5. 某某家庭遭遇生出 2
    个幼童,已清楚其中一个是女孩,则其它一个凡是男孩的概率是稍稍?-知乎

  6. 自打贝叶斯定律的角度理解“蒙提霍尔问题”和“三单罪犯问题”

  7. 其三只囚徒问题,求解?


履新日志:

  • 2015-05-20 增加三囚徒问题的解答
  • 2015-05-09 第一糟写