咱们今天聊聊这个经典的鸡兔同笼问题,这问题可老了,《孙子算经》里就有记载,大约是1500年前。原文说的挺简单:笼子里有鸡和兔子,总共35个头,94只脚,问各有多少只。翻译成大白话就是鸡兔共35只,有94只脚。这个问题听起来简单,可是一分析起来可不得了,它能帮我们打开逻辑思维的大门。用代数的思维来解决这个问题的话,就把它抽象成数学问题。设鸡有x只,兔子有y只,就有两个方程:头数的方程是x + y = 35,脚数的方程是2x + 4y = 94。把这个二元一次方程组解出来就得到了答案:鸡23只,兔子12只。整个过程干净利落。而如果让计算机来处理这个问题的话,就没那么优雅了。计算机采用穷举法来解决这个问题。先给x一个可能的取值范围1到35,算出对应的y的值是35-x。然后再判断2x加上4y是不是等于94。如果相等的话就输出答案。比如C++代码片段里就是一个循环判断输出的过程。这段代码看着简单粗暴但确实把复杂问题给拆解成可执行的步骤了。无论是代数还是编程都是在建立一个逻辑关系然后解出来未知数差别只是表达方式不一样而已。代数用公式来表达而编程用循环加上条件来表达。 无论用什么方法都能解决这个问题只是手段不同罢了。不过编程思维更强调把大脑变成一个算法机器把复杂的问题拆解成一个个模块让我们能更清晰地看到每一步该怎么操作它能应用到生活中的方方面面让杂乱无章的事情变得有条理起来。