日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
程序員的數學圖書
人氣:62

程序員的數學

一本為程序員朋友們寫的數學 書感受數學之美 活躍你的數學思維 程序員修煉之道

內容簡介

編程的基礎是計算機科學,而計算機科學的基礎是數學。因此,學習數學有助于鞏固編程的基礎,寫出更健壯的程序。

本書面向程序員介紹了編程中常用的數學知識,借以培養初級程序員的數學思維。讀者無需精通編程,也無需精通數學,只需具備四則運算和乘方等基礎知識,就可以閱讀本書。

書中講解了二進制計數法、邏輯、余數、排列組合、遞歸、指數爆炸、不可解問題等許多與編程密切相關的數學方法,分析了哥尼斯堡七橋問題、少年高斯求和方法、漢諾塔、斐波那契數列等經典問題和算法。引導讀者深入理解編程中的數學方法和思路。

本書還對程序員和計算機的分工進行了有益的探討。讀完此書,你會對以程序為媒介的人機合作有更深刻的理解。

編輯推薦

如果數學不好,是否可以成為一名程序員呢?答案是肯定的。 《程序員的數學》適合:數學糟糕但又想學習編程的你

沒有晦澀的公式,只有好玩的數學題。

幫你掌握編程所需的“數學思維”。

日文版已重印14次!

作者簡介

結城浩(Hiroshi Yuki)

生于1963年,日本博學技術作家和程序員。在編程語言、設計模式、數學、加密技術等領域,編寫了很多深受歡迎的入門書。代表作有《數學女孩》系列、《程序員的數學》等。

作者網站www.hyuki.com/

譯者簡介:

管杰

畢業于復旦大學日語系?,F為對日軟件工程師,多年日語技術文檔編寫經驗。愛好日漢翻譯和日本文化史,譯有《明解C語言:入門篇》等。

目錄

目錄

第1章 0的故事——無即是有

本章學習內容 2

小學一年級的回憶 2

10進制計數法 3

什么是10進制計數法 3

分解2503 3

2進制計數法 4

什么是2進制計數法 4

分解1100 5

基數轉換 6

計算機中為什么采用2進制計數法 8

按位計數法 10

什么是按位計數法 10

不使用按位計數法的羅馬數字 11

指數法則 12

10的0次方是什么 12

10-1是什么 13

規則的擴展 14

對20進行思考 14

2-1是什么 15

0所起的作用 16

0的作用:占位 16

0的作用:統一標準,簡化規則 16

日常生活中的0 17

人類的極限和構造的發現 18

重溫歷史進程 18

為了超越人類的極限 19

本章小結 20

第2章 邏輯——真與假的二元世界

本章學習內容 22

為何邏輯如此重要 22

邏輯是消除歧義的工具 22

致對邏輯持否定意見的讀者 23

乘車費用問題——兼顧完整性和排他性 23

車費規則 23

命題及其真假 24

有沒有“遺漏” 24

有沒有“重復” 25

畫一根數軸輔助思考 26

注意邊界值 28

兼顧完整性和排他性 28

使用if語句分解問題 28

邏輯的基本是兩個分支 29

建立復雜命題 30

邏輯非——不是A 30

邏輯與——A并且B 32

邏輯或——A或者B 34

異或——A或者B(但不都滿足) 37

相等——A和B等 39

蘊涵——若A則B 40

囊括所有了嗎 45

德 摩根定律 46

德 摩根定律是什么 46

對偶性 47

卡諾圖 48

二燈游戲 48

首先借助邏輯表達式進行思考 49

學習使用卡諾圖 50

三燈游戲 52

包含未定義的邏輯 54

帶條件的邏輯與(&&) 55

帶條件的邏輯或(||) 57

三值邏輯中的否定(!) 58

三值邏輯的德?摩根定律 58

囊括所有了嗎 59

本章小結 60

第3章 余數——周期性和分組

本章學習內容 64

星期數的思考題(1) 64

思考題(100天以后是星期幾) 64

思考題答案 64

運用余數思考 65

余數的力量——將較大的數字除一次就能分組 65

星期數的思考題(2) 66

思考題(10100天以后是星期幾) 66

提示:可以直接計算嗎 67

思考題答案 67

發現規律 68

直觀地把握規律 68

乘方的思考題 70

思考題(1234567987654321) 70

提示:通過試算找出規律 70

思考題答案 70

回顧:規律和余數的關系 71

通過黑白棋通信 71

思考題 71

提示 73

思考題答案 73

奇偶校驗 73

奇偶校驗位將數字分為兩個集合 74

尋找戀人的思考題 74

思考題(尋找戀人) 74

提示:先試算較小的數 74

思考題答案 75

回顧 75

鋪設草席的思考題 77

思考題(在房間里鋪設草席) 77

提示:先計算一下草席數 77

思考題答案 78

回顧 78

一筆畫的思考題 79

思考題(哥尼斯堡七橋問題) 79

提示:試算一下 80

提示:考慮簡化一下 81

提示:考慮入口和出口 82

思考題答案 82

奇偶校驗 85

本章小結 86

第4章 數學歸納法——如何征服無窮數列

本章學習內容 88

高斯求和 88

思考題(存錢罐里的錢) 88

思考一下 89

小高斯的解答 89

討論一下小高斯的解答 89

歸納 91

數學歸納法——如何征服無窮數列 91

0以上的整數的斷言 92

高斯的斷言 93

什么是數學歸納法 93

試著征服無窮數列 94

用數學歸納法證明高斯的斷言 95

求出奇數的和——數學歸納法實例 96

奇數的和 96

通過數學歸納法證明 97

圖形化說明 98

黑白棋思考題——錯誤的數學歸納法 99

思考題(黑白棋子的顏色) 99

提示:不要為圖所惑 100

思考題答案 100

編程和數學歸納法 101

通過循環表示數學歸納法 101

循環不變式 103

本章小結 107

第5章 排列組合——解決計數問題的方法

本章學習內容 110

計數——與整數的對應關系 110

何謂計數 110

注意“遺漏”和“重復” 111

植樹問題——不要忘記0 111

植樹問題思考題 111

加法法則 115

加法法則 115

乘法法則 117

乘法法則 117

置換 121

置換 121

歸納一下 122

思考題(撲克牌的擺法) 123

排列 125

排列 125

歸納一下 126

樹形圖——能夠認清本質嗎 128

組合 130

組合 130

歸納一下 131

置換、排列、組合的關系 132

思考題練習 134

重復組合 134

也要善于運用邏輯 136

本章小結 139

第6章 遞歸——自己定義自己

本章學習內容 142

漢諾塔 142

思考題(漢諾塔) 142

提示:先從小漢諾塔著手 143

思考題答案 146

求出解析式 148

解出漢諾塔的程序 149

找出遞歸結構 150

再談階乘 151

階乘的遞歸定義 152

思考題(和的定義) 153

遞歸和歸納 153

斐波那契數列 154

思考題(不斷繁殖的動物) 154

斐波那契數列 157

帕斯卡三角形 159

什么是帕斯卡三角形 159

遞歸定義組合數 162

組合的數學理論解釋 163

遞歸圖形 165

以遞歸形式畫樹 165

實際作圖 166

謝爾平斯基三角形 167

本章小結 168

第7章 指數爆炸——如何解決復雜問題

本章學習內容 172

什么是指數爆炸 172

思考題(折紙問題) 172

指數爆炸 175

倍數游戲——指數爆炸引發的難題 176

程序的設置選項 176

不能認為是“有限的”就不假思索 178

二分法查找——利用指數爆炸進行查找 178

尋找犯人的思考題 178

提示:先思考人數較少的情況 179

思考題答案 180

找出遞歸結構以及遞推公式 181

二分法查找和指數爆炸 183

對數——掌握指數爆炸的工具 184

什么是對數 184

對數和乘方的關系 184

以2為底的對數 186

以2為底的對數練習 186

對數圖表 187

指數法則和對數 188

對數和計算尺 190

密碼——利用指數爆炸加密 193

暴力破解法 193

字長和安全性的關系 193

如何處理指數爆炸 195

理解問題空間的大小 195

四種處理方法 195

本章小結 196

第8章 不可解問題——不可解的數、無法編寫的程序

本章學習內容 200

反證法 200

什么是反證法 200

質數思考題 202

反證法的注意事項 203

可數 203

什么是可數 203

可數集合的例子 204

有沒有不可數的集合 206

對角論證法 207

所有整數數列的集合是不可數的 207

所有實數的集合是不可數的 211

所有函數的集合也是不可數的 212

不可解問題 213

什么是不可解問題 213

存在不可解問題 214

思考題 215

停機問題 215

停機 216

處理程序的程序 217

什么是停機問題 217

停機問題的證明 219

寫給尚未理解的讀者 222

不可解問題有很多 223

本章小結 224

第9章 什么是程序員的數學——總結篇

本章學習內容 226

何為解決問題 229

認清模式,進行抽象化 229

由不擅長催生出的智慧 229

幻想法則 230

程序員的數學 231

在線預覽

CHAPTER1

第1章

0的故事

——無即是有

◎課前對話

老師:1,2,3的羅馬計數法是I,II,III。學生:加法很簡單嘛。I II,只要將3個I并排寫就行了。老師:不過II III可不是IIIII,而是V喔!學生:啊,是這樣啊!老師:沒錯,如果數目變大,那數起來可就費勁啦!

本章學習內容

本章將學習有關“0”的內容。

首先,介紹一下我們人類使用的10進制和計算機使用的2進制,再講解按位計數法,一起來思考0所起的作用。乍一看,0僅僅是表示“什么都沒有”的意思,而實際上它具有創建模式、簡化并總結規則的重要作用。

小學一年級的回憶

以下是小學一年級時發生的事,我依然記憶猶新。“下面請打開本子,寫一下‘十二’。”老師說道。于是,我翻開嶄新的本子,緊握住削尖了的鉛筆,寫下了這樣大大的數字。

老師走到我跟前,看到我的本子,面帶微笑親切地說:“寫得不對喔。應該寫成12喔。”

當時我是聽到老師說“十二”,才寫下了10和2。不過那樣是不對的。眾所周知,現在我們把“十二”寫作12。

而在羅馬數字中,“十二”寫作XII。X表示10,I表示1。II則表示兩個并排的1,即2。也就是說,XII是由X和II組成的。

如同“十二”可以寫作12和XII,數字有著各種各樣的計數法。12是阿拉伯數字的計數法,而XII是羅馬數字的計數法。無論采用哪種計數法,所表達的“數字本身”并無二致。下面我們就來介紹幾種計數法。

10進制計數法

下面介紹10進制計數法。

什么是10進制計數法

我們平時使用的是10進制計數法。

使用的數字有0、1、2、3、4、5、6、7、8、9共10種a。

數位有一定的意義,從右往左分別表示個位、十位、百位、千位……

以上規則在小學數學中都學到過,日常生活中也一直在用,是眾所周知的常識。在此權當復習,后面我們將通過實例來了解一下10進制計數法。

分解2503

首先,我們以2503這個數為例。2503表示的是由2、5、0、3這4個數字組成的一個稱作2503的數。

這樣并排的數字,因數位不同而意義相異。

2表示“1000的個數”。

5表示“100的個數”。

0表示“10的個數”。

3表示“1的個數”。

a 這里的“種”指的是數字的種類,用來說明10進制和2進制中數字復雜程度的差異。如2561中包含四種數字,而1010中只包含兩種數字。——譯者注

綜上所述,2503這個數是2個1000、5個100、0個10和3個1累加的結果。用數字和語言來冗長地說明有些無趣,下面就用圖示來表現。

2×1000 5×100 0×10 3×1

如圖,將數字的字體大小加以區別,各個數位上的數字2、5、0、3的意義便顯而易見了。1000是10×10×10,即10(310的3次方),(10的2次方)

100是10×10,即102。因此,也可以寫成如下形式(請注意箭頭所示部分)。

2×103

5×102

0×10 3×1

再則,10是101(10的1次方),1是100(10的0次方),所以還可以寫成如下形式。

2×103 5×102 0×101

3×100

千位、百位、十位、個位,分別可稱作103的位、102的位、101的位、100的位。10進制計數法的數位全都是10n的形式。這個10稱作10進制計數法的基數或底。基數10右上角的數字——指數,是3、2、1、0這樣有規律地順次排列的,這點請記住。

3210

2×103 5×102 0×101 3×100

2進制計數法

下面講解2進制計數法。

什么是2進制計數法

計算機在處理數據時使用的是2進制計數法。從10進制計數法類推,便可很快掌握它的規則。

??使用的數字只有0、1,共2種。

??從右往左分別表示1位、2位、4位、8位……

用2進制計數法來數數,首先是0,然后是1,接下去……不是2,而是在1上面進位變成10,繼而是11,100,101……

表1-1展示了0到99的數的10進制計數法和2進制計數法。

0到99的數的10進制計數法和2進制計數法

分解1100

在此,我們以2進制表示的1100(2進制數的1100)為例來探其究竟。

和10進制計數法一樣,并排的數字,各個數位都有不同的意義。從左往右依次為:

1表示“8的個數”。

1表示“4的個數”。

0表示“2的個數”。

0表示“1的個數”。

也就是說,2進制的1100是1個8、1個4、0個2和0個1累加的結果。這里出現的8、4、2、1,分別表示23、22、21、20。即2進制計數法的1100,表示如下意思。

3210

1×23 1×22 0×21 0×20

如此計算就能將2進制計數法的1100轉換為10進制計數法。

31×22 0×21 0×20

1×2 1×8 1×4 0×2 0×18 4 0 012

由此可以得出,2進制的1100若用10進制計數法來表示,則為12。

基數轉換

接下來我們試著將10進制的12轉換為2進制。這需要將12反復地除以2(12除以2,商為6;6再除以2,商為3;3再除以2……),并觀察余數為“1”還是“0”。余數為0則表示“除完了”。隨后再將每步所得的余數的列(1和0的列)逆向排列,由此就得到2進制表示了。

用2進制表示12

同樣地,我們試將10進制的2503轉換為2進制計數法。

我們從圖1-2可以知道2503用2進制表示為100111000111。各個數位的權重如下:

1×211 0×210 0×29 1×28 1×27 1×26 0×25 0×24 0×23 1×22 1×21 1×20

在10進制中,基數為10,各個數位是以10n的形式表現的。而2進制中,基數為2,各個數位是以2n的形式表現的。從10進制計數法轉換為2進制計數法,稱作10進制至2進制的基數轉換。

計算機中為什么采用2進制計數法

計算機中一般采用2進制計數法,我們來思考一下原因。計算機在表示數的時候,會使用以下兩種狀態。

開關切斷狀態

開關連通狀態

雖說是開關,但實際上并不需要機械部件,你可以想象成是由電路形成的“電子開關”。總之,它能夠形成兩種狀態。這兩種狀態,分別對應0和1這兩個數字。

… 0

… 1

1個開關可以用0或1來表示,如果有許多開關,就可以表示為許多個0或1。你可以

想象這里排列著許多開關,各個開關分別表示2進制中的各個數位。這樣一來,只要增加

開關的個數,不管是多大的數字都能表示出來。

當然,做成能夠表示0~9這10種狀態的開關,進而讓計算機采用10進制計數法,

這在理論上也是可能的。但是,與0和1的開關相比,必定有更為復雜的結構。另外,請比較一下圖1-3和圖1-4所示的加法表。2進制的表比10進制的表簡單得多吧。

若要做成1位加法的電路,采用2進制要比10進制更為簡便。

不過,比起10進制,2進制的位數會增加許多,這是它的缺點。例如,在10進制中

2503只有4位,而在2進制中要表達同樣的數則需要100111000111共12位數字。這點從

表1-2中也顯而易見。

人們覺得10進制比2進制更容易處理,是因為10進制計數法的位數少,計算起來不

容易發生錯誤。此外,比起2進制,采用10進制能夠簡單地通過直覺判斷出數值的大小。

人的兩手加起來共有10個指頭,這也是10進制更容易理解的原因之一。

10進制的加法表

2進制的加法表

不過,因為計算機的計算速度非??欤粩翟俣嘁矝]有關系。而且計算機不會像人類那樣發生計算錯誤,不需要靠直覺把握數字的大小。對于計算機來說,處理的數字種類少、計算規則簡單就好不過了。

讓我們來總結一下。

10進制計數法中,位數少,但是數字的種類多。

→對人類來說,這種比較易用。

2進制計數法中,數字的種類少,但是位數多。

→對計算機來說,這種比較易用。

鑒于上述原因,計算機采用了2進制計數法。

人類使用10進制計數法,而計算機使用2進制計數法,因此計算機在執行人類發出的任務時,會進行10進制和2進制間的轉換。計算機先將10進制轉換為2進制,用2進制進行計算,再將所得的2進制計算結果轉換為10進制。

人類使用計算機進行計算的情形

轉換為2進制

轉換為10進制

10101 10011

使用2進制進行計算

101000

按位計數法

下面來介紹按位計數法。

什么是按位計數法

我們學習了10進制和2進制兩種計數法,這些方法一般稱作按位計數法。除了10進制和2進制以外,還有許多種類的按位計數法。在編程中,也常常使用8進制和16進制計數法。

●8進制計數法

8進制計數法的特征如下:

使用的數字有0、1、2、3、4、5、6、7共8種。

80的位、81的位、82的位、83的位……(基數是8)

21 19

40

●16進制計數法

16進制計數法的特征如下:

使用的數字有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共16種。

160的位、161的位、162的位、163的位……(基數是16)

在16進制計數法中,使用A、B、C、D、E、F(有時也使用小寫字母a、b、c、d、e、

f)來表示10以上的數字。

●N進制計數法

一般來說,N進制計數法的特征如下:

使用的數字有0,1,2,3,…,N-1,共N種。

N0的位、N1的位、N2的位、N3的位……(基數是N)

例如,N進制計數法中,4位數a3a2a1a0為

a3×N3 a2×N2 a1×N1 a0×N0(a3、a2、a1、a0是0~N-1中的數字。)

不使用按位計數法的羅馬數字

按位計數法在生活中最為常見,因此人們往往認為這種方法是理所當然的。實際上,

在我們身邊也有不使用按位計數法的例子。例如,羅馬計數法。羅馬數字至今還常常出現在鐘表表盤上。

使用羅馬數字的鐘表表盤

還有,在電影放映的演職員名單中,也會出現表示年號的MCMXCVIII等字母。這也是羅馬數字。羅馬計數法的特征如下:

數位沒有意義,只表示數字本身

使用I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、M(1000)來記數

將并排的數字加起來,就是所表示的數。

例如,3個并排的I(III)表示3,并排的V和I(VI)表示6,VIII表示8。羅馬數字的加法很簡單,只要將羅馬數字并排寫就可以得到它們的和。比如,要計算1 2,只要將表示1的I和表示2的II并排寫作III就行了。但是,數字多了可就不太簡單了。

例如,計算3 3并不是把III和III并排寫作IIIIII,而是將5單獨拿出來寫作V,所以6就應該寫作VI。CXXIII(123)和LXXVIII(78)的加法,也不能僅僅并排寫作CXXIIILXXVIII,而必須將IIIII轉換為V,VV轉換為X,XXXXX轉換為L,再將LL轉換為C,如此整理得到CCI(201)。在“整理”羅馬數字的過程中,必須進行與按位計數法的進位相仿的計算。

羅馬計數法中還有“減法規則”。例如IV,在V的左側寫I,表示5-1,即4(在鐘表表盤上,由于歷史原因也有將4寫作IIII的)。讓我們試著將羅馬數字的MCMXCVIII用10進制來表示。

MCMXCVIII=(M) (CM) (XC) (V) (III)=(1000) (1000-100) (1000-10) (5) (3)=1998

可以發現,MCMXCVIII表示的就是1998。羅馬數字真是費勁?。?/p>

指數法則

10的0次方是什么

在10進制的說明中,我們講過“1是100(10的0次方)”,即100=1。

也許有些讀者會產生以下疑問吧。

102是“2個10相乘”,那么100不就是“0個10相乘”嗎?這樣的話,不應該是1,而是0吧?

這個問題的核心在哪里呢?我們來深入思考一下。問題在于“10n是n個10相乘”這部分。在說“n個10相乘”時,我們自然而然會把n想作1,2,3…。因此,在說“0個10相乘”時,卻不知道應該如何正確理解它的意義。

那么,暫且拋卻“n個10相乘”這樣的定義方式吧。我們從目前掌握的知識來類推,看看如何定義100比較妥當。

眾所周知,103是1000,102是100,101是10。

將這些等式放在一起,尋找它們的規律。

103=1000102=100101=10100=?

1??101??101??10

每當10右上角的數字(指數)減1,數就變為原先的10分之1。因此,100就是1。綜上所述,在定義10n(n包括0)的值時可以遵循以下規則:

指數每減1,數字就變為原來的10分之1。

10-1是什么

不要將思維止步于100之處。對于10-1(10的-1次方),讓我們同樣套用這一規則(指數每減1,數字就變為原來的10分之1)。

100˙11

10_1˙

10110_2˙

100110_3˙1000

1??101??101??10

規則的擴展

首先讓我們做一個小結。我們學習了10n計數法的相關內容。起初,我們把n為1,2,3…時,即101,102,103…想作“1個10相乘”、“2個10相

乘”、“3個10相乘”……然后,我們拋卻了“n個10相乘”的思維,尋找到了一個擴展規則:對于10n,n每減1,就變成原來的10分之1。

當n為0時,若套用“10n為n個10相乘”的規則,著實比較費解。于是我們轉而求助于“n每減1,就變成原來的10分之1”的規則”,定義出100是1(因為101的10分之1就是1)。

同樣地,10-1,10-2,10-3…的值(即n為-1,-2,-3…時),也適用于這個擴展規則。

如此,對于所有的整數n(…,-3,-2,-1,0,1,2,3,…),都能定義10n的值。對于10-3來說,“-3個10相乘”的思維并不直觀。但倘若套用擴展規則,即使n是負數,也能“定義出”10的n次方的值。

對20進行思考

讓我們用思考100的方法,也思考一下20的值吧。

25˙32

24

˙16

23

˙8

22

˙4

21

˙2

20

˙?

由此可知,對于2n來說,n每減1,數值就變成原來的2分之1。21的2分之1是20,那么20=1。在這里我想強調的是,不要將20的值作為一種知識去記憶,我們更需要考慮的是,如

何對20進行適當的定義,以期讓規則變得更簡單。這不是記憶力的問題,而是想象力的問題。請記住這種思維方式:以簡化規則為目標去定義值。

1??21??21??21??21??2

2-1是什么

讓我們參照10-1的規則來思考2-1。20除以2,得到的是2-1,即2-1=12。

“2的-1次方”在直覺上較難理解。鑒于規則的簡單化和一致性,2的-1次方可以定

義為2-1=21。同理,2-2=212,2-3=213。

綜上所述,可以總結出如下等式:

10 5=1×10×10×10×10×1010 4=1×10×10×10×1010 3=1×10×10×1010 2=1×10×1010 1=1×10100=110-1=1÷1010-2=1÷10÷1010-3=1÷10÷10÷1010-4=1÷10÷10÷10÷1010-5=1÷10÷10÷10÷10÷10

2 5=1×2×2×2×2×22 4=1×2×2×2×22 3=1×2×2×22 2=1×2×22 1=1×2

20

=12-1=1÷22-2=1÷2÷22-3=1÷2÷2÷22-4=1÷2÷2÷2÷22-5=1÷2÷2÷2÷2÷2

看了上面的等式之后,你應該就更能體會100和20為什么都等于1了吧。

到這里,我們給之前所說的“規則”取名為“指數法則”。指數法則的表達式為

=Na b

Na×Nb

即“N的a次方乘以N的b次方,等于N的a b次方”法則(但N≠0)。有關指數

法則的內容,在第7章也會談到。

0所起的作用

0的作用:占位

這節我們來討論0的作用。例如,用10進制表示的2503,它當中的0起到了什么作用呢?2503的0,表示十位“沒有”。雖說“沒有”,但這個0卻不能省略。因為如果省略了0,寫成253,那就變成另一個數了。

在按位計數法中,數位具有很重要的意義。即使十位的數“沒有”,也不能不寫數字。這時就輪到0出場了,即0的作用就是占位。換言之,0占著一個位置以保障數位高于它的數字不會產生錯位。

正因為有了表示“沒有”的0,數值才能正確地表現出來??梢哉f在按位計數法中0是不可或缺的。

0的作用:統一標準,簡化規則

在按位計數法的講解中,我們提到了“0次方”,還將1特意表示成100。使用0,能夠將按位計數法的各個數位所對應的大小統一表示成

10n

否則,就必須特別處理“1”這個數字。0在這里起到了標準化的作用。

如果從高到低各個數位的數字依次為an,an-1,an-

網友評論(不代表本站觀點)

來自jamie13**的評論:

看完書以后覺得結城浩SAMA簡直是我的偶像,同時推薦他的《數學女孩》,本來是系列作品的,但大陸譯本只有一本,好坑!

2014-04-26 20:24:58
來自無昵稱**的評論:

復習了很多數學基礎,以后再也不敢說沒有實現不了的程序了,嘿嘿

2014-02-28 14:41:46
來自不解衣**的評論:

它讓我對數學的概念有了明顯的改觀,最重要的是這導致我對數學產生了興趣

2013-05-30 20:35:50
來自無昵稱**的評論:

發貨速度太慢 包裝過于簡單 五本書就一塑料袋包裝

2015-10-29 20:50:46
來自njumagi**的評論:

本書對程序員應該掌握的基本數學知識進行了深入淺出的講解,譯者水平挺高,文筆流暢!

2013-05-24 12:40:55
來自無昵稱**的評論:

作者寫的很淺顯易懂,從淺顯的數學知識中能體會到數學思維在編程中的重要性

2013-11-01 00:13:00
來自春暉小**的評論:

程序員的數學思維很重要有木有,這么有趣的介紹幫助大大有木有,果斷有價值

2012-12-12 09:06:09
來自無昵稱**的評論:

不要害怕數學,從問題驅動的角度學習,更加有動力,也更清晰思路。

2014-04-25 11:58:40
來自鍵坤**的評論:

我是在新華書店看了這本書才買的。這本書寫的相當棒,如果再有一些習題看起來效果就更佳了。對于我這個數學功底不怎么樣的人來看,挺好的。

2013-02-17 08:28:08
來自無昵稱**的評論:

非常值得高中生和無數學基礎的蹩腳程序員看。給公司買了一本,準備也給兒子存一本,等他高中時再看。

2013-06-07 19:21:50
來自妖瞳沐**的評論:

書籍不錯,將程序員所必須的較為簡單的數學思想進行了闡述

2013-04-27 08:10:44
來自mcyzzk**的評論:

好啊,可是我寫評價已經寫得厭煩了。每次買幾本書,看都沒怎么看呢,怎么評價?

2016-03-17 11:52:58
來自無昵稱**的評論:

很有趣的數學讀本,對數學的一些內容很有啟發~

2014-07-02 01:05:58
來自多讀書G**的評論:

從另外一個角度看數學,讓數學變得有趣,如果中學時代就讀過這本書的話,現在數學應該比較好了,受傳統教育的毒害深了

2012-12-14 13:45:59
來自放手、**的評論:

這是一本 培養編程愛好的書 沒有高深的講解 簡單易懂; 當然 他并不是學習編程的專業書籍 內容淺顯 非常適合初學者

2015-01-15 23:00:00
來自泊浮目1**的評論:

日本的作者挺有意思的,略幽默。內容嘛,可以算是算法的學前教育嗎?我覺得在中國這本書大多數內容用不上這本書~因為中國教育太恐怖啦!

2015-03-20 20:15:29
來自無昵稱**的評論:

書籍印刷很好。內容也輕松易懂。適合中學生作為編程科普來閱讀。專業的做程序的學生,這書有些太簡單?;蛘咦x著玩倒是可以。應該算是寫的不錯的書。

2013-04-12 10:42:03
來自納蘭韋**的評論:

在書店早早翻過,當時就覺得很不錯。向來不喜歡枯燥的東西,這本書把枯燥的內容寫得很有趣,尤為難得的是在其中融入了對程序設計的思維映射,非常不錯。建議做開發的朋友們讀一下。

2012-12-10 13:30:33
來自無昵稱**的評論:

很值得程序員看的一本經典書籍,提高編程水平。

2012-12-28 17:47:42
來自tmacwas**的評論:

很適合編程入門的人看,而且介紹的都是編程思想中很實用的理論

2013-04-20 16:38:29
來自克念sam**的評論:

程序員的數學還是很重要的,但是很多時候可能會發現沒有那么多的精力去專門完整的學習一門數學的學科,所以這本書正好是對我的胃口。

2013-02-19 19:35:54
來自vipliji**的評論:

把道理說的簡單而且透徹,有助于深入理解數學

2015-12-21 17:20:00
來自fieldin**的評論:

難得一見的講解基礎編程數學的好書,圖文并茂,清晰明了。

2014-11-04 12:47:35
來自漫步云**的評論:

程序中的數學,數學中的程序,數學乃計算機的基礎

2015-03-25 16:18:05
來自無昵稱**的評論:

這本書在還沒閱讀的時候就已經對它產生了興趣,等我真正拿到手的時候更對它愛不釋手.它使一個對數學厭煩的人可以輕松的學習數學,而且內容清晰明了、易懂.對于初學者來說它是一個很好的幫手.

2012-12-17 21:20:23
來自松槐散**的評論:

程序員的數學【一本為程序員朋友們寫的數學書】程序員的數學【一本為程序員朋友們寫的數學書】

2015-09-07 15:48:58
來自書香傳**的評論:

正如這本書臨近結尾總結所言,數是一個龐大而復雜的事物,是人所不擅長的。因此,人類發明了計數法,但還不夠,于是有了邏輯、分組、算法,并能模式化。程序員所面對的就是不斷面對實際問題,繼承已有的解決方案,開辟新的解決路徑。

2013-12-02 21:13:13

免責聲明

更多出版社