美文网首页iOS开发
程序员的苦恼

程序员的苦恼

作者: 月坠西窗晓 | 来源:发表于2016-09-12 08:07 被阅读0次

电脑中有一款比较简单的游戏:蜘蛛扑克。难度也可以从一种花色、两种花色、到四种花色。

这个游戏的核心技巧,就是堆栈(stack)技术,对于计算机软件专业的人员来说,这其实是一项基本技术。所以,我如果有时玩这个游戏的话,总是选择四种颜色的难度,取得若干连胜也是比较常见的。

这个游戏有个规则,就是有空位时,是不许发牌的。我现在的问题是,如果上面的扑克数量不足十张的时候,怎么办?会出现这样的问题吗?

要出现这个上面说的问题,就必须满足,最后一组没有发出的牌,必须是同一种花色且不能重复。(事实上,最后剩下两组时,保证花色不超过两种,且分组之后不重复;最后剩下三组时,保证花色不超过三种,且分组之后不重复。都是可能出现问题的。这里不讨论这部分。)

这样的概率是多大呢?

对于四种颜色,概率为 4C(13,10)/C(52,10),概率大致是亿分之7。

对于二种颜色,概率增大了512倍,大致是十万分之3.7。

对于一种颜色,概率再增大了512倍,大致是百分之1.9。

也就是说,出现最后十张没有发出来的扑克是完全不重复的,在选择一种颜色的难度时,概率还比较大。为了找到这样的现象,就反复发扑克,并检验最后的十张扑克,大约数十次之后,就出现了期望的结果。

这个结果有什么用呢?会出错!

我们不妨假定,这个程序非常的优秀,并且经过千锤百炼的检验,但事实上它还是会出现错误。这种不易被发现的错误,就是程序员的苦恼,就是你很难保证程序完全正确。这或许算作一个实例。

程序员的苦恼

图一:最后十张扑克出现完全不重复的情况。

程序员的苦恼

图二:游戏进行中。由于程序的错误,导致无法继续了。解决的办法,要么允许上面的扑克,不足十张时,有空位可以发牌;要么不允许“最后一组十张扑克是一套花色且不重复”。

相关文章

  • 程序员的苦恼

    最近工作忙的一大糊涂,突然静下来发现近半年自己一直在被动的工作。同时,工作中的成就感越来越少,甚至工作本身目前看也...

  • 程序员的苦恼

    电脑中有一款比较简单的游戏:蜘蛛扑克。难度也可以从一种花色、两种花色、到四种花色。 这个游戏的核心技巧,就是堆栈(...

  • 女程序员的苦恼

    做女程序员已有一年了,但现在任然连一份正经的工作都没有,悲催啊……之前自学了一点php,后来又转行了,改去学Jav...

  • 女性程序员的苦恼

    最近APP版本更新,主要改进逻辑。我滴个神,我真的是用了工作日3天才搞定,真心觉得我的逻辑思维能力太差。 可是吧!...

  • 企业到底需要什么样的程序员?

    每个IT企业,尤其是初创企业,非常苦恼:找不到好的程序员。现在大学、软件学院及各种培训机构,每年培养几十万的程序员...

  • 程序员idea

    每个IT企业,尤其是初创企业,非常苦恼:找不到好的程序员。现在大学、软件学院及各种培训机构,每年培养几十万的程序员...

  • 程序员提升自己的工作技能不可错过的几大工具!

    优秀程序员的成长之路不是平坦的,经历过诸多的挫折,熬过漫漫长夜,迷茫彷徨,沮丧苦恼,这些都是程序员早期的现状,有些...

  • 如何保证高质量代码

    如何保证高质量代码? 有时候程序员会很苦恼,为什么自己这么多bug;有时候测试人员更苦恼,为什么这么简单的case...

  • 程序员难过的坎——30岁

    在外人看来程序员都是钱多没时间还单身的钻石王老五,但是程序员也有自己的苦恼:除了没完没了的BUG还有那不断改需求的...

  • 苦恼苦恼

    自己十分喜欢看江户川乱步和柯南道尔的小说,也看过很多其他类别的小说,但是心里还是始终没法放下那个怕被他人嘲笑的心,...

网友评论

    本文标题:程序员的苦恼

    本文链接:https://www.haomeiwen.com/subject/uckpettx.html