啊哈C语言!:逻辑的挑战(修订版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2章 梦想启航

第1节 编程的魔力

从一个神奇的数字说起——2 147 483 647。

2 147 483 647是一个质数(也称为素数,即只能被1和其本身整除的数)。发现这个质数的人是伟大的数学家欧拉。1722年,他在双目失明的情况下,以惊人的毅力靠心算证明了2 147 483 647是一个质数,堪称当时已知的世界上最大的质数,他也因此获得了“数学英雄”的美名。现在你通过计算机只需要1秒就可以证明2 147 483 647是一个质数。

再来看一个经典的问题——八皇后问题。

如何能够在8×8的国际象棋棋盘上放置8个“皇后”,使得任何一个“皇后”都无法直接吃掉其他“皇后”?为了达到这个目的,任意两个“皇后”都不能处于同一条横行、纵行或斜线上。下面就是一种解决方案。没错,你可以自己拿出笔和纸画一画,看看还有没有其他方案。但是,如果我想知道所有的方案该怎么办?

又轮到计算机出马了,一共有92种不同的解决方案,很棒吧!计算机只需要1秒,就可以算出所有的解。

再来看一个很流行的益智游戏——数独。

在一个9×9格的大九宫格中有9个3×3的小九宫格,默认在其中填写了一些数字,现在请在其他空格上填入数字1~9。每个数字在每个小九宫格内只能出现一次,每个数字在每行每列也只能出现一次。请看下面这个例子。

我想,你一定很快就找到了一种可行解,可是你知道上面这个数独一共有多少种不同解吗?答案是99 410种!很难想象吧,计算机找到这些解仍然只需1秒!怎么样,计算机编程是不是很神奇,你甚至可以轻而易举地在一定范围内去验证“哥德巴赫猜想”。

在接下来的内容里,你将学会如何与计算机对话,如何让计算机进行数学计算和判断,如何让计算机永不停止地工作,以及如何让计算机做一些很有意思的程序和游戏。一场有趣的逻辑思维大战即将开始,不要走开,赶快进入第2节——让计算机开口说话!