识破“神奇读心术”
今天在看到马老师的《咨询顾问结构化思考方法训练》课程知识地图,里面有一个识破“神奇读心术”的训练,因为我没有听过详细的课程,所以我也尝试着识破一下。
“神奇读心术”看起来真的比较神奇,我试了3,4次,每次都被他“读心”了,可是怎么来识破他呢?
程序员出身的我自然一开始的想法是从他的源代码入手(比较土一点),打开它的html代码,我找到了关键的几行代码:
1) ax=Math.round(Math.random()*26);
2) alphaArray=new Array("a", "n", "b", "d", "f", "h", "{", "i", "l", "v", "x", "z", "I", "J", "M", "N", "o", "O", "R", "S", "T", "U", "m", "6", "^", "u", "_", "[", "]")
3) j=1;
4) for ( i = 99 ; i >= 0 ; i-- )
5) {
6) a=Math.round(Math.random()*26);
7) if ( i%9 == 0 && i < 89 )
8) a=ax;
9) table+="<td bgcolor='#40BDE8' align='center' class='numtd'>"+i+"</td><td bgcolor='#FFFFFF' align='center' class='symtd'>"+alphaArray[a]+"</td>"
10) if ( j%10 == 0 )
11) table+="</tr><tr>"
12) j++
13) }
第7)行代码引起了我的注意,为什么要对i做一个取模9的过程呢,也就是为什么当i能被9整除的时候,表中显示的字符就会都用同一个字符。
于是我又回到操作过程,第二步比较特殊,要求我把想到的数字减去个位数和十位数,为什么要这么做呢?
假设个位数为A,十位数为B,那这个数的值是:10*B+A
如果我把这个数字减掉个位数和十位数:((10*B)+A)- A -B=9*B
恍然大悟!
以上就是我识破“神奇读心术”的过程,有这么一些感触:
1,有什么看起来非常复杂的问题,他的原理可能是特别简单的。
2,要在复杂的问题中找到他关键的环节(我就只能先从代码入手,但是我觉得如果结构思维好的人,应该可以直接从第二条操作入手,找到问题的关键,看来我需要加强这方面的训练了)
3,思维方式对解决问题特别重要!
推荐到鲜果:


评论
如果真正想真正找到脑筋急转弯、幽默、笑话中间的简单规律,可以去阅读爱德华.德.波诺的书。
波诺在50年内将对人类的思维方法产生巨大的影响。
发布者 马东方
2005-5-27 15:20:00