猜数游戏与理性思维

    最近比较忙,好几天没写博客了,憋滴那是~相当~难受,今天就来一篇水文吧(也同步发到我的QQ空间里了)

 

    前一阵在看"读者"杂志时,被这样一个故事所吸引:某公司举办一个有奖猜数字的活动,规则很简单!参与者在0到100之间随便选一个数字寄给主办方,主办方最终对寄来的数字汇总求平均值,如果您的数字最接近平均值的2/3,即能获得大奖。

 

    如果是您,您会选哪个数字呢?

 

    按最简单的逻辑:假设大家都是报着碰运气的想法随便选的,那么最终的数字应该接近随机分布,最终的总和应该接近于5050,然后除上101再乘上2/3,应该是33.

 

    可是,大家都不是笨蛋,你能想到这一点,别人也能想到,如果最后大家都选33寄回去,最终的平均值就是33,然后乘上2/3就是 22 .

 

    所以,理性的聪明人会觉得22要比33更好一点,他们会选择22。但是...如果参与的人都是聪明人,他们同样也会想到这么简单的道理,假设大多数人都选择22,最终的平均值就会接近22,然后再乘2/3,应该是15.

 

......

 

    如果一直保持这种思维方式继续思考,所选的值应该会越来越小,问题在于:我们应该把目光锁定在第几次这种假设上?究竟多少人会这么想?他们会想到什么深度?

 

    开始觉得有点意思了吧!先开下小差:下中国象棋时,普通人只能看到对方的下一步,水平更高一点的人能看到下二步甚至三步,而高手能看到对手所有可能的后续步骤。

 

    ok,回到刚才的问题,如果把这种理性的思维发挥到极限,貌似选0才是正确的选择,因为大家都选0的话,最终的平均值也是0,再乘上任何数也还是0.

 

    最终的实际结果如何呢?读者上说,这次活动的得奖数字是13。

 

    这个故事的用意在于告诉我们:并非所有人都很理性,但理性的人也并非总是会赢。

  

    股市上,很多人都知道跟大众反向操作,大家都认为会涨的股票,我就买它跌,反之亦然。这种人的想法即所谓的理性思维,通常我们尊称他们为"高手",但是世上并非只一个聪明人,也并非所有的人都这么理性,有些人就喜欢干“追涨杀跌”的傻事儿,甚至仅仅因为卖菜的老大妈买这支股票,所以我也跟着买。最终我们在股市上,总能看到有些“啥也不懂的”新手,偶尔也会赚到钱,在股海沉浮多年的高人,却难免翻船。

 

    用一句老话通俗的讲:别把自己当傻子,但也别自作聪明。再理性的人也未必一直都对,再不理性的人也会有对的时候!唯有不变的一点是:是人肯定会犯错,世上没有0Bug的程序,也同样没有0犯错的人。

 

    很多程序员都干过“写代码来预测彩票”的儍事儿(我年青时也干过),总想用数学中的概率+统计学原理,来分析以往的历史数据,企图发现下期的大奖号码,从而改变自己的一生。

 

    但是很多年过去了,好象还没听说过哪个高智商的程序员发现彩票中大奖的伟大规律,反到是很多人随便一买,就中了500万,正所谓“人类一思考,上帝就发笑”,如果哪个程序员真搞出了500w大奖的必中算法,我想上帝应该要哭了。

 

    再比如现在的互联网,很多人都想思索出一种独特、全新的商业模式,从而快速在互联网中创造奇迹,但是别忘记了:互联网行业从来不缺人才与钱财,已经有太多聪明人和有钱人已经身在互联网行业。

    思维方式要有突破,但是也别异想天开,做人不能没想法,但也不能想法太多!该干嘛,就老老实实去干,至于能不能干成,管它呢?先干了再说!

时间: 2024-10-18 23:35:36

猜数游戏与理性思维的相关文章

c语言-用C语言实现一个猜数游戏,用递归实现

问题描述 用C语言实现一个猜数游戏,用递归实现 用C语言实现一个猜数游戏,随机产生一个数,用户每次猜,告诉它大了或者小了,知道猜对,用递归实现 解决方案 #include <stdio.h> #include <stdlib.h> void guess(int num) { int n; printf("请输入整数:"); scanf("%d",&n); if(n>num) printf("大了n"); el

java-这是猜数游戏的部分代码,为什么会输入40显示大了,输入39显示小了

问题描述 这是猜数游戏的部分代码,为什么会输入40显示大了,输入39显示小了 Scanner in = new Scanner(System.in); { for(int j = 1 ; j< 8; j++){ System.out.println(""请输入一个整数:""); int value = in.nextInt(); int ran = (int)(Math.random()*100)+1; if (value > ran){ System.

C语言 做了一个猜数游戏,如何在3次失败以后显示正确的数字printf应该加在哪里?

问题描述 C语言 做了一个猜数游戏,如何在3次失败以后显示正确的数字printf应该加在哪里? #include #include #include #include int main(){ { printf(""********************************n I want to play a game with youn********************************""); } int c; printf("&quo

测试-菜鸟跪求大神帮忙!!!猜数游戏

问题描述 菜鸟跪求大神帮忙!!!猜数游戏 我编的程序字符测试显示乱码,我实在不知道问题在哪....希望大神们帮帮忙!!在线等,急//游戏界面菜单 //1 显示界面 System.out.println(""请输入一个数""); while(true){ System.out.println(""1 开始猜数""); System.out.println(""2 游戏参数设置""); Sy

用JavaScript实现 铁甲无敌奖门人 “开口中”猜数游戏_javascript技巧

在线演示demo本人平时就喜欢拿它来写点实用工具或应用,本文演示用JavaScript实现的<铁甲无敌奖门人>"开口中"猜数游戏,以后我还会陆续上传自己写的小东西,都是些工作之余的小作. <铁甲无敌奖门人>是TVB综艺节目,香港艺人曾志伟就是其中重要的主持人,节目中有众多好玩又刺激的游戏,其中有一个叫"开口中"的猜数游戏正是本文要实现的功能.游戏规则大致是:首先电脑在1到100内选一个数字作为最终答案(这个答案嘉宾一开始是不知道的),然后嘉宾

JAVA猜数游戏程序小研究

最简单且有BUG的一段 package com.zzk.cn; import java.util.*; public class GuestNum { public static void main(String[] ags) { int i; int num = (int) (Math.random() * 100); int b; String answer; Scanner input = new Scanner(System.in); System.out.println("请猜 0~1

javascript实现的猜数小游戏完整实例代码_javascript技巧

本文实例讲述了javascript实现的猜数小游戏.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <

新手 帮忙 网页-用一个JSP页面编写一个猜数字游戏

问题描述 用一个JSP页面编写一个猜数字游戏 系统内部生成一个0-100之间的随机数,提供一个表单让用户来猜这个数字是多少,若猜大了,出现"大了"的提示,若猜小了,出现"小了"的提示,直到用户猜到正确的数字时,提示"猜对了!",并统计用户猜了几次才猜对. 我的代码: **<%@ page language="java" import="java.util.*" pageEncoding="U

c++编写猜数字游戏如何控制布尔值不让程序进入死循环?

问题描述 c++编写猜数字游戏如何控制布尔值不让程序进入死循环? 游戏规则:系统随机出一个三位数,例如1.2.3,假设你猜1.3.2,那么系统则给与2,1.2代表数字和位置相对,1代表数字对而位置不对,0代表位置和数字都不对.关键是怎么用布尔值控制0-9这些数字且在比较的时候不让程序进入死循环呢? 解决方案 思路说下:首先把这三位数按个.十.百 分别存入到一个数组中a[0] = 个, a[1] = 十, a[2]= 百, 然后对你猜的数也分成个十百,分两次比较: 第一次:比较该位上的数是否完全匹