by kevin
  
    25.   
      十二月 2012 08:13
  >
  
  
  
 做为一个程序员,很多时候,碰到问题时,都会后悔自己当初没把数学学好
    做为一个程序员,很多时候,碰到问题时,都会后悔自己当初没把数学学好 ,也经常在思考程序员需要了解多少的数学知识才算是足够的。结城浩写的《程序员的数学》,就是为了回答这个问题的。书中提到:如果数学不好,是否可以成为一名程序员呢?答案是肯定的。编程的基础是计算机科学,而计算机科学的基础是数学。因此,学习数学有助于巩固编程的基础,写出更健壮的程序。 这个观点,我也是比较赞同的。所以也就耐着性子把这本书看了一遍。
,也经常在思考程序员需要了解多少的数学知识才算是足够的。结城浩写的《程序员的数学》,就是为了回答这个问题的。书中提到:如果数学不好,是否可以成为一名程序员呢?答案是肯定的。编程的基础是计算机科学,而计算机科学的基础是数学。因此,学习数学有助于巩固编程的基础,写出更健壮的程序。 这个观点,我也是比较赞同的。所以也就耐着性子把这本书看了一遍。
        这本书,有点像一般的计算机专业本科数学相关教程的复习笔记,比课本要好的一点,是结合了很多实际的例子。所以看看吧,就当复习。 ,立此存照。
,立此存照。
   
  0的特殊意义
  标准化,统一规则。比如:100=1。
  占位,表示,没有或者不存在的东西。比如:今天不用上课,表示成今天的上0节课。
  周期性问题以及分组
  实际开发过程中,很多时候会碰到周期性的问题,这个需要我们自己去猜想问题的周期是什么?
  比如:今天是星期天,10100的天之后是星期几?
  100 –> 星期一
  101 –> 星期三
  102 –> 星期二
  103 –> 星期六
  104 –> 星期四
  105 –> 星期五
  106 –> 星期一
  107 –> 星期三
  108 –> 星期二
  109 –> 星期六
  1010 –> 星期四
  1011 –> 星期一
  1012 –> 星期三
  好不容易可以看出,周期是6。100 ÷ 6 = 16 余 4,所以10100的天之后是星期四。
   
  排列组合,递归,数学归纳法
  经常碰到吧,是不是已经忘光了,改天看书吧。 很好用哦,努力掌握吧。
 很好用哦,努力掌握吧。
  最后,回答一个高深的问题,数字在程序开发中起什么作用?
  1.思维训练,让程序员具备认识问题,抽象问题的思想。
  2.数学建模,让程序员具备解决问题的能力。
  所以才说,程序员可以不懂数学,但懂数学对你写程序有非常大的作用。
  其他相关的文章:
  Google首席Java架构师谈数学与程序员的关系
  http://developer.51cto.com/art/201012/238798.htm
  浅谈程序员的数学修养
  http://www.builder.com.cn/2008/0303/751666.shtml