菜單導航程序員
一、經常使用數學公式: 等差/等比數列通項和求和、指數、對數、排列組合等函數
三、數學概括法spa
四、遞歸3d
五、指數爆炸orm
六、反證法對象
1、經常使用數學公式blog
1.0 實數:有理數和無理數的總稱,經常使用字母R表示實數集;排序
有理數是整數和分數的集合,有理數的小數部分是有限或者無限循環的數;小數部分爲無限不循環的數爲無理數;遞歸
天然數:全體非負整數組成的集合,經常使用字母N來表示
質數:又稱素數,大於1的天然數中,除了1和它自己之外再也不有其餘因數;因數:又叫約數,整數a除以整數b(b≠0)的商正好是整數而沒有餘數,則b是a的因數;
冪:乘方的結果。a = n^m, 指m個n相乘,把n^m乘方的結果a叫作冪,也叫n的m次冪;
1.1 等差數列
定義:一個數列從第二項起,每一項與它的前一項的差等於同一個常數。這個數列就叫作等差數列,這個常數也叫等差數列的公差,公差經常使用字母d表示。
通項公式: , a1爲等差數列首項,公差爲d, 爲 第n項
求和公式: , Sn爲數列前n項之和
其餘:跟等差數列知識相關的一個有趣故事是:「高斯求和」
1.2 等比數列
定義:一個數列從第二項起,每一項與它的前一項的比等於同一個常數。這個數列就叫作等比數列,這個常數也叫等比數列的公比,公比一般用字母q表示。
通項公式: (n∈N*),當q>0時,可把看作是自變量n的函數,點(n, )是曲線 上的一羣孤立的點。
求和公式: 或 (q≠1)。
等比中項: ; 即等比數列中,若q+p = 2r, 則有, 爲等比中項。
其餘:跟等比數列知識相關的一個有趣故事是:「棋盤上的麥粒」
1.3 指數函數
定義:通常地,函數(a爲常數且以a>0,a≠1)叫作指數函數, 函數的定義域是R,自變量x就叫作指數,常數a叫底數。
對於一切指數函數來說,值域爲(0, +∞);指數函數的前係數爲1;
指數型函數:y = (k≠1), 格式像指數函數,但不是指數函數;
冪函數:通常地,y=xα(α爲有理數)的函數,即以底數爲自變量,冪爲因變量,指數爲常數的函數稱爲冪函數。
例如函數y=x0 、y=x2、y=x-1(注:y=x-1=1/x、y=x0時x≠0)等都是冪函數。
指數函數經常使用公式:
1.3.1: ; ; (同底相乘,指數相加;同底相除,指數相減)
1.3.2: (指數的指數,指數相乘)
1.3.3:
1.4 對數函數
定義:通常地,對數函數以冪(真數)爲自變量,指數爲因變量,底數爲常量的函數。
好比ax = n(a>0,且a≠1),那麼數x叫作以a爲底n的對數,記做x=logan,讀做以a爲底n的對數,其中a叫作對數的底數,n叫作真數。
通常地,函數y=logax(a>0,且a≠1)叫作對數函數,也就是說以冪(真數)爲自變量,指數爲因變量,底數爲常量的函數,叫對數函數。
經常使用公式:
1.4.1 :; ; 負數和零無對數;
1.4.2 : * = 1 ;
1.4.3 : ;
1.4.4:
1.4.5:
1.4.6:
1.4.7:
幾張圖表以下:
1.5 排列組合
1.5.1 階乘:階乘是指一個運算符號,一個正整數的階乘(factorial)是全部小於及等於該數的正整數的積,而且0的階乘爲1。
天然數n的階乘寫做n!,亦即n!=1×2×3×...×n。階乘亦能夠遞歸方式定義:0!=1,n!=(n-1)!×n。
1.5.2 排列定義:從n個不一樣元素中,任取m(m≤n,m與n均爲天然數,下同)個元素按照必定的順序排成一列,叫作從n個不一樣元素中取出m個元素的一個排列;
從n個不一樣元素中取出m(m≤n)個元素的全部排列的個數,叫作從n個不一樣元素中取出m個元素的排列數,用符號 A(n,m)表示。
1.5.3 排列計算公式:
1.5.4 組合定義:從n個不一樣元素中,任取m(m≤n)個元素併成一組,叫作從n個不一樣元素中取出m個元素的一個組合;
從n個不一樣元素中取出m(m≤n)個元素的全部組合的個數,叫作從n個不一樣元素中取出m個元素的組合數。用符號 C(n,m) 表示。
1.5.5 組合計算公式:
1.5.6 排列和組合區別:排列是講究排序的,而組合不考慮元素排序,通常來講,從n中不一樣元素取出m個元素的排列,要比組合數量多。
對於組合公式的理解,相對排列而言會繞一點,這裏試圖解釋一下組合公式:
從n個不一樣元素中取出m個元素的全部組合個數,能夠理解成先從n個不一樣的元素中取出m個元素的全部排列個數爲Anm (即A(n, m) ),
而後由於m個元素的排序方式共有m!(即m*(m-1)*(m-2)*...*1, m的階乘)種,而組合不考慮元素排序,至關於數量A(n, m)中重複了m!次,
因此排序數量A(n, m) 除以 排序方式數量m! , 則是咱們須要的沒有重複的組合數量了,即C(n, m) = A(n, m) / m!
2、邏輯且/或/非/異或,和餘數
2.1 計算機爲何採用二進制計數法
2.1.1 在10進制計數法中,位數少,可是數字的種類多。(對於人類來講,比較易用)
2.1.2 在二進制計數法中,數字的種類少哦,可是位數多。(對於計算機來講,這種比較易用)
2.2 指數的法則:對於指數 a^n, n每減1,新的值就變成原來的1/a,即a^(n-1) 爲 a^n的1/a
2.3 零的做用:用來表示佔位;也用來統一標準,簡化規則;
2.4 邏輯
命題:可以判斷對錯的陳述句叫作命題。命題正確時,則該命題爲「真」(true);反之,命題不正確時,稱該命題爲「假」(false)。
在創建規則時,須要確認規則有沒有「遺漏」和「重複」;
沒有「遺漏」,即完整性,明確此規則在什麼狀況下都能適用;沒有「重複」,即具有排他性,明確此規則不存在矛盾之處。
邏輯從根本上說是對完整性和排他性的組合表達。
邏輯非:非真爲假,非假爲真;
邏輯且:A和B都爲真時,纔是真;A和B只要有一個爲假,則爲假;
邏輯或:A和B只要有一個爲真,則結果爲真;A和B都爲假,則爲假;
邏輯異或:A和B一真一假,則結果爲真;A和B都爲真,或者都爲假,則結果爲假;
德·摩根定律:「非A」或者「非B」, 和非「A與B」是等價的; 「非A」而且「非B」,和非「A或B」是等價的;
2.5 卡諾圖:簡化複雜邏輯表達式的有效工具
2.5.1 二燈遊戲(綠燈、黃燈):
規則:1)綠燈滅,黃燈亮;
2)綠燈、黃燈滅;
3)綠燈、黃燈都亮
命題A : 綠燈亮
命題B : 黃燈亮
邏輯表達式爲:(非A 而且 B) 或者 (非A 而且 非B) 或者 (A 而且 B)
卡諾圖表示法(打上鉤):
2.5.3 三燈遊戲 (綠燈、黃燈、紅燈)
規則:1)綠燈、黃燈、紅燈都滅
2)黃燈滅、紅燈亮
3)綠燈滅、黃燈亮
4)綠燈、黃燈、紅燈都亮
命題A : 綠燈亮
命題B : 黃燈亮
命題C : 紅燈亮
邏輯表達式:(非A 且 非B 且 非C) 或 (非B 且 C) 或 (非A且 B) 或 (A且B且C)
卡諾圖表示法(打鉤):
2.6 餘數的做用:分組,將較大的數字除一次就能分組
2.6.1 思考題:今天是週三,那麼100天后是周幾? 一億天之後呢?(運用餘數思考)
2.6.2 思考題:今天是週三,10^100天后是周幾?(當計算有難度的時候,能夠試圖經過找規律來簡化問題)
2.6.3 思考題:1234567^987654321的個位數是什麼?(找規律:找出規律,再結合餘數,把大數字簡化成小數字)
2.6.4 思考題(黑白棋讀心術):
1)魔術師和他的徒弟在臺上表演,臺下有觀衆,魔術師蒙着眼睛,徒弟不容許說話,若干黑白棋(每一個黑白棋像硬幣樣,只是一面黑色,一面白色);
2)讓觀衆在桌子上隨機放7枚黑白棋的棋子排成一列。魔術師蒙着眼睛,看不到棋子;
3)讓魔術師的徒弟在看完這7枚棋子後,在後面添加了一枚棋子,與其餘棋子並排。這時有8枚棋子,魔術師依然蒙着眼睛;
4)這時讓觀衆能夠將其中1枚棋子翻轉,或者不翻轉任何棋子。此間,徒弟和觀衆不發一言,魔術師依然蒙着眼睛,不知道觀衆有沒有翻轉棋子;
5)魔術師摘下眼罩,觀察8枚棋子,而後立刻就能判斷:「觀衆翻轉了棋子」 或 「沒有翻轉棋子」,識破觀衆的行爲。
問:魔術師是如何識破觀衆的行爲的?
2.6.5 思考題(尋找戀人):
在一個小王國中,有8個村子(A~H)。以下圖所示,各個村之間道路相連(黑點表示村子,線表示道路)。而你要尋找流浪在這個王國的你惟一的戀人。
你的戀人住在這8個村子中的某一個裏,她每過1個月便順着道路去另外一個村子,每月都必定會換村子,而後選擇哪一個村子是隨機的,預測不了。
例如:若是戀人這個月住在G村,那麼下一個月可能會住在「F、C、H中的某一個村子「。
目前你手上掌握的確鑿信息只是:1年前(12個月前),戀人住在G村。
如今問:這個月戀人住在A村的機率?(奇數、偶數)
2.6.6 思考題(鋪設草蓆):
以下圖所示,有這樣一個房間,使用圖中右下角所示的草蓆可以正好鋪滿房間嗎?(前提是不能使用半張草蓆)
若是不能鋪滿的話,請說明理由?
2.6.7 思考題(哥尼斯堡七橋問題):
以下圖所示,在好久之前,有一個叫哥尼斯堡的小城。小城被河流分割成了4塊陸地。人們爲了鏈接這些陸地,建設了7座橋。
如今要你找出走遍7座橋(a、b、c、d、e、f、g)的方法,可是,必須遵照如下條件:
1)走過的橋不能再走
2)能夠屢次通過同一塊陸地
3)能夠從任一陸地爲起點
4)不須要再回到起點
最後,若是可以走遍7座橋的話,請說明一下方法。若是不能,也請證實一下。
3、數學概括法
3.1 斷言:判定一個特定前提爲真的陳述
3.2 數學概括法:數學概括法是證實有關整數的斷言對於0以上的全部整數(0、一、二、3...)是否成立時所用的方法。
3.3 數學概括法的證實方法步驟:
1)步驟1:證實「P(0)成立」。步驟1也叫基底(base)
2)步驟2:證實不論k爲0以上的哪一個整數,「若P(k)成立,則P(k+1)也成立」。步驟2也叫概括(induction)
若步驟1和步驟2都能獲得證實,就證實了「斷言P(n)對於0以上的全部整數n都成立」。
3.4 數學概括法實例(求奇數的和):
3.4.1 斷言Q(n) : 1 + 3 + 5 + 7 + ... + (2*n-1) = n^2
3.4.2 用數學概括法來證實「斷言Q(n)對於1以上的全部整數n都成立」
3.4.3 步驟1:基底的證實
證實Q(1)成立。由於Q(1) = 1^2, 因此確實成立。步驟1證實完畢。
3.4.4 步驟2:概括的證實
證實k爲1以上的任意整數時,「若Q(k)成立,則Q(k+1)也成立」。
假設Q(k) = 1 + 3 + 5 + 7 + ... + (2*k-1) = k^2 成立
則來證實等式Q(k+1)成立
Q(k+1)的左邊和右邊計算結果相同。
由此,從Q(k)到Q(k+1)推導成功,步驟2獲得了證實。
至此,經過數學概括法的步驟1和步驟2都證實了斷言Q(n)。也就是說,經過數學概括法,證實了斷言Q(n)對於1以上的任意整數n都成立。
4、遞歸
4.1 思考題(漢諾塔):
有三根細柱(A、B、C)。A柱上套着6個圓盤。這些圓盤大小各異,按從大到小的順序自下而上擺放。
如今要把A柱上的6個圓盤所有移到B柱上。而且在移動圓盤時須遵照如下規則:
1)一次只能移動柱子最上端的一個圓盤
2)小圓盤上不能放大圓盤。
將1一個圓盤從一根柱子移到另外一根柱子,算移動「1次」。那麼,將6個圓盤所有從A移到B最少須要移動幾回呢?
(能夠先經過3個圓盤、5個圓盤找出遞歸規律)
先來看看3層漢諾塔的解法(移動7次):
發現移動2個圓盤的規律:
4.2 遞歸的思惟方式:將複雜問題轉換成較爲簡單的同類問題。在問題中找出遞歸結構,根據遞歸結構創建遞歸公式。
4.3 思考題(不斷繁殖的動物):
有一種動物,它出生2天后就開始以天天1只的速度繁殖後代。假設第一天,有一隻這樣的動物(該動物剛出生,從第三天起繁殖後代)。
問到第11天,共有多少隻?
5、指數爆炸
5.1 思考題(摺紙問題):
假設如今有一張厚度爲1mm的紙,紙質很是柔軟,能夠對摺無數次。每對摺一次,厚度便翻一番。
已知地球距月球約39萬千米,請問對摺多少次後厚度可以超過月地距離呢?
5.2 指數爆炸:數字每次翻倍,而後咱們會發現這種數字會急速增加。這種狀況咱們叫它「指數爆炸」,也能夠稱爲「指數式增加」
5.3 思考題(尋找犯人,二分法查找)
有15個犯罪嫌疑人排成一排,其中只有一個是真正的「罪犯」。
你要經過問他們「罪犯在哪裏?」來找出 真正的罪犯。
假設選擇其中1人問:「罪犯在哪裏?」會獲得如下3鍾答案,其中有一個是正確的。
1)「我是罪犯」(詢問對象是罪犯時)
2)「罪犯在我左邊」
3)「罪犯在我右邊」
這時,僅經過3次問話就能從15人中找到真正的罪犯。那麼,應該怎麼問話呢?(找出地推結構以及遞推公式)
6、反證法
6.1 反證法
1)首先,假設「命題的否認形式」成立
2)根據假設進行論證,推導出矛盾的結果
一言以蔽之,反證法就是「先假設命題的否認形式成立,而後再進行推理,引出矛盾」
6.2 反證法實例:爲何不存在「最大的整數」?
假設存在「最大的整數」,並將它設爲M。
那麼M+1就比M大,這與M是最大的整數的假設相矛盾。
所以不存在「最大的整數」。
6.3 反證法實例2:請證實質數是無窮的
假設「質數不是無窮的」,即「質數的個數是有限的」成立。
假設質數的個數是有限的,因此全部質數的集合就能夠寫爲:
2,3,5,7,..., P
如今,將全部的質數(2,3,5,7,..., P)相乘,並設相乘的結果+1爲Q。
即Q = 2*3*5*7*...*P + 1
由於假設質數是有限個的,因此這個Q的大小也是有限的。
而Q比全部的質數相乘的結果大1,所以Q比任何質數(2,3,5,7,...,P)都大。
「Q比任何質數都大」也就意味着「Q不是質數」。
另外一方面,這個Q除以2,3,5,7,...,P中的任一一個數,餘數都是1(不能整除)。
這就代表,Q只能被1和Q自己整除,因此根據質數的定義可得「Q是質數」。
所以「Q不是質數」和「Q是質數」都成立,這是矛盾的。
所以,經過反證法證實了「質數是無窮的」。
6.4 反證法的主意事項
反證法從「要證實的命題的否認形式」出發,即必須先假設錯誤的假設成立。
但到引出矛盾結論爲止的論證過程自己必須正確,之因此這麼說由於若是中途的論證出現錯誤,就不能得出「由於最初的假設錯誤,因此產生矛盾」的結論。
參考資料:百度百科,和《程序員的數學.(日)結城浩》