1、编程没有数学基础不行
2、但懂数学不等于懂编程
举一个例子:
求1+2+3+4+……+99+100的和。
数学解法通常是:
1、(1+100)*100/2=5500
2、小学生的解法:1+2=3、3+3=6、……这样累算下去。
编程解法呢?跟数学解法2相同,代码如下:
static void Main(string[] args) { int theResult = 0; for (int i = 1; i <= 100; ++i) { theResult += i; } Console.WriteLine(theResult.ToString()); }
所以:
编程解决问题时候,要懂几个逻辑道理:
1、电脑运算速度是很快的
2、电脑不会出错,除非你的代码有BUG
所以:
就比如求1到100的加和,数学可以用技巧,程序(电脑)因为他运算速度快和不会出错,可以用最笨的办法累算。
这就是编程思维和数学思维。
编程算法有:
1、穷举法
2、贪心算法
3、动态规划法
等等
上面举的例子,就是编程算法中的穷举法。