优秀程序员与所谓的专业程序员最大的不同

转自:邀月 (个人网站) 标签:.net

从以下的问题可以看出:真正写代码的人往往跳入代码中自娱自乐而不自知,却忘记了思考问题的本质,这可能就是优秀程序员与所谓的专业程序员最大的不同,

一、月薪上万的net开发人员问题:
有一队伍长100米,匀速前进,传令兵以匀速从队首运动到队尾然后返回队首,其间队伍前进了100米,问传令兵运动的距离。
假设总共花了100秒, 队伍的速度则为1; V为传令兵速度, 传令兵到队尾的距离为S。
则总共走 100 M + 2 * S。
---------------------------
传令兵走S,则此时部队走100-S;传令兵到尾部。
往前走,路程为100+S,而部队刚才走了100-S,则此时当走100-(100-S) = S
时间相同。
则有
S / (100+S )= (100-S) /S
=> S^2 = 10000 -S^2
=> S^2 = 5000;
=> S = 70.71067811865475244008443621049
=>CLOSE
开方函数在Math命名空间里有。
也可自己迭代出来。
二、月薪5万,微软中国研究院最新面试题,
小明和小强都是张老师的学生,张老师的生日是M月N日,
2人都知道张老师的生日是下列10组中的一天,
张老师把M值告诉了小明,把N值告诉了小强,
张老师问他们知道他的生日是那一天吗?
3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
小明说:如果我不知道的话,小强肯定也不知道
小强说:本来我也不知道,但是现在我知道了
小明说:哦,那我也知道了
请根据以上对话推断出张老师的生日是哪一天

理由:
1. 小明说:如果我不知道的话,小强肯定也不知道,  那么:6月7日和 12月2日 就被剔除
2. 小明说:如果我不知道的话,小强肯定也不知道+小强说:本来我也不知道,但是现在我知道了
那么:只有6月4日是唯一确定的

从以上问题可以看出:
真正擅长写代码的人往往跳入代码中自娱自乐而不自知,却忘记了思考问题的本质,这可能就是优秀程序员与所谓的专业程序员最大的不同
   我(ronalmao) 对2题的解释:
ronalmao   2007年05月17日  218.58.70.*  
由题目可知:
 M 可能等于 3 6 9 12
 N 可能等于 1 2 4 5 7 8
  小明的第一句话是 " 如果我不知道的话,小强肯定也不知道。 "= 〉小明肯定不能确定准确的日期,但是如果他猜的不对,小强就不能很快的知道。 ―――― 什么情况小强通过告诉他 N 和题目里面的十个日期直接知道老师的生日?只有两个可能 N=7or2 ,因为 6.7 12.2 是唯一的。但是小明说了,如果他猜不对,小强也不能现在确定。那就可以排除 6.7 12.2
注意:小明之所以说第一句话是因为他知道的 M 6 12 中的一个。并根据这个 M=6 或者 12 的自己已知条件,设想:如果小强知道的话,必然是 2 或者 7 ,如果小强说了自己知道,那么小明就会知道自己知道的 M 所对应的 N 是什么。 两个人现在已知条件: M 可能等于 6 12 N 可能等于 1 2 4 5 7 8 第二句,小强说我原来不知道,现在知道了。 因为小强原来不能通过老师告诉他的 N 和题目里面的十个日期直接知道老师的生日,说明 N 最不可能等于 7or2 ,可能等于 1 4 5 8 综合得到精简结果如下: M 可能等于 6 12 N 可能等于 1 4 8 小强又说: 我现在知道了 因为小强知道 N ,所以他知道生日是 6.4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值