- 啊哈C語言?。哼壿嫷奶魬?zhàn)(修訂版)
- 啊哈磊
- 7字
- 2024-01-05 17:59:54
第2章 夢想啟航
第1節(jié) 編程的魔力
從一個(gè)神奇的數(shù)字說起——2 147 483 647。
2 147 483 647是一個(gè)質(zhì)數(shù)(也稱為素?cái)?shù),即只能被1和其本身整除的數(shù))。發(fā)現(xiàn)這個(gè)質(zhì)數(shù)的人是偉大的數(shù)學(xué)家歐拉。1722年,他在雙目失明的情況下,以驚人的毅力靠心算證明了2 147 483 647是一個(gè)質(zhì)數(shù),堪稱當(dāng)時(shí)已知的世界上最大的質(zhì)數(shù),他也因此獲得了“數(shù)學(xué)英雄”的美名。現(xiàn)在你通過計(jì)算機(jī)只需要1秒就可以證明2 147 483 647是一個(gè)質(zhì)數(shù)。

再來看一個(gè)經(jīng)典的問題——八皇后問題。
如何能夠在8×8的國際象棋棋盤上放置8個(gè)“皇后”,使得任何一個(gè)“皇后”都無法直接吃掉其他“皇后”?為了達(dá)到這個(gè)目的,任意兩個(gè)“皇后”都不能處于同一條橫行、縱行或斜線上。下面就是一種解決方案。沒錯(cuò),你可以自己拿出筆和紙畫一畫,看看還有沒有其他方案。但是,如果我想知道所有的方案該怎么辦?

又輪到計(jì)算機(jī)出馬了,一共有92種不同的解決方案,很棒吧!計(jì)算機(jī)只需要1秒,就可以算出所有的解。
再來看一個(gè)很流行的益智游戲——數(shù)獨(dú)。
在一個(gè)9×9格的大九宮格中有9個(gè)3×3的小九宮格,默認(rèn)在其中填寫了一些數(shù)字,現(xiàn)在請(qǐng)?jiān)谄渌崭裆咸钊霐?shù)字1~9。每個(gè)數(shù)字在每個(gè)小九宮格內(nèi)只能出現(xiàn)一次,每個(gè)數(shù)字在每行每列也只能出現(xiàn)一次。請(qǐng)看下面這個(gè)例子。

我想,你一定很快就找到了一種可行解,可是你知道上面這個(gè)數(shù)獨(dú)一共有多少種不同解嗎?答案是99 410種!很難想象吧,計(jì)算機(jī)找到這些解仍然只需1秒!怎么樣,計(jì)算機(jī)編程是不是很神奇,你甚至可以輕而易舉地在一定范圍內(nèi)去驗(yàn)證“哥德巴赫猜想”。
在接下來的內(nèi)容里,你將學(xué)會(huì)如何與計(jì)算機(jī)對(duì)話,如何讓計(jì)算機(jī)進(jìn)行數(shù)學(xué)計(jì)算和判斷,如何讓計(jì)算機(jī)永不停止地工作,以及如何讓計(jì)算機(jī)做一些很有意思的程序和游戲。一場有趣的邏輯思維大戰(zhàn)即將開始,不要走開,趕快進(jìn)入第2節(jié)——讓計(jì)算機(jī)開口說話!
- Learn ECMAScript(Second Edition)
- 極簡算法史:從數(shù)學(xué)到機(jī)器的故事
- 兩周自制腳本語言
- Java高并發(fā)核心編程(卷2):多線程、鎖、JMM、JUC、高并發(fā)設(shè)計(jì)模式
- C#程序設(shè)計(jì)(慕課版)
- Python數(shù)據(jù)分析(第2版)
- Keras深度學(xué)習(xí)實(shí)戰(zhàn)
- OpenMP核心技術(shù)指南
- INSTANT Apache Hive Essentials How-to
- Using Yocto Project with BeagleBone Black
- Java Web開發(fā)基礎(chǔ)與案例教程
- Puppet 5 Beginner's Guide(Third Edition)
- Python計(jì)算機(jī)視覺與深度學(xué)習(xí)實(shí)戰(zhàn)
- Java EE輕量級(jí)解決方案:S2SH
- C/C++語言程序開發(fā)參考手冊(cè)