数学在编程算法中的应用
求和运算的例子
我们需要求解 1 , 2 , 3 , . . . , n 1,2,3,...,n 1,2,3,...,n个数的和。常用解法:
def sum_n(n):
ret_sum = 0
for i in range(1, n + 1):
ret_sum = ret_sum + i
return ret_sum
我们知道在数学中 1 , 2 , 3 , . . . , n 1,2,3,...,n 1,2,3,...,n个数的和是可以通过公式 n ∗ ( n + 1 ) 2 {n*(n+1)\over{2}} 2n∗(n+1)快速求解出来的,因此上面的代码就可以修改为:
def sum_n(n):
ret_sum = n*(n+1)/2
return ret_sum
七哥作为数学专业毕业的学生,这个例子给了七哥很多思考,日常编程中大家应多关注数据本身规律,去思考数学上是否有着严格证明的定理,来通过某个公式表述该问题。
后续七哥会在该方向上多找些例子。未完待续…