9的第99個後繼是多少?對於學完加法的我們,已經不需要乙個乙個從9一直數到108,而是可以直接說出9+99=108,加法合併了這些後繼操作。
那麼當99個99相加時,有沒有什麼新的方法來合併這些加法操作呢?乘法自然而然地就產生了。
當我們把3個4相加時,我們也可以說是4乘3,即用加法來定義乘法:
我們很容易就能驗證,任何數和1的乘積都等於這個數本身。
而乘法是比加法更高一層的運算法則,因此我們規定在同乙個式子中,先算乘法再算加減法,除非有括號。
練習:計算
。乘法除了可以在一維直線上進行計算,也能夠計算二維平面:
上圖中左邊的圖形有多少個格仔?很顯然是6個,但我們也可以不用數數的方式,用乘法來計算每行3個,總共2行,即3x2=6。
練習:用乘法計算右邊的圖中有幾個格仔。
探索:乘法和加法有什麼區別?3堆蘋果,每堆5個,和5堆蘋果,每堆3個,真的是一樣的嗎?(物件不同的二元運算,對映的復合)
我們可以驗證,3乘4和4乘3是相等的,同時2乘3再乘4,和3乘4再乘2是相等的,即:
和加法類似,乘法同樣擁有交換律和結合律。
現在我們能夠對0的乘法進行規定了,為了保持數學的統一美,數學家們讓乘法對於0也滿足乘法交換律,0乘4等於4乘0,即4個0相加,結果為0。
因此規定,0乘任何數都是0,包括0乘0。
練習:計算
。探索:怎麼證明乘法交換律和乘法結合律對所有自然數有效?(皮亞諾公理)
而乘法除了交換律和結合律,還能和加法結合產生新的性質。2加3再乘5,與2和3單獨乘5再相加,結果是一樣的,即:
這被叫做乘法分配律。
練習:計算
。探索:怎麼證明乘法分配律對所有自然數有效?(皮亞諾公理)
探索:兩個數相加和另外兩個數相加的乘積該如何使用分配律?很多個呢?(代數式的乘法)
知道了自然數的乘法之後,我們接下來要考慮整數。
如果是乙個正數和負數相乘,例如2乘-3,我們依舊可以利用加法計算:
即正數和負數相乘,得到的是負數,結果為絕對值相乘的相反數。
但負數乘負數應該是多少?比如-1乘-1?
簡單來說,負數乘負數沒有實際意義,所以只是一種規定,數學家們定義:
兩個負數相乘等於正數,結果是絕對值相乘。
為什麼這麼定義,因為這樣的乘法可以滿足分配律,而且滿足分配律的乘法只有這一種:
這就是所謂的負負得正,兩個負數相乘等於正數。
練習:計算
。探索:滿足分配律的負數乘法有什麼優勢?(負數乘法的應用,交換環)
乘法提供了比加法更高一層的運算,而更高一層的運算也往往會產生新的數學,例如乘法分配律。
同時,負數乘法的引入,打破了數學和實際事物的聯絡,在理解上是困難的。-1乘-1的問題中,我們進入了人為規定的抽象世界,這是由具體數學向形式數學的重要轉折。
探索:比乘法再高一層的運算是什麼樣的?再高很多層呢?(乘方,葛立恆數,康威鏈)
探索:小數該怎麼計算乘法?(實數的運算)
預習:就像加法對應減法一樣,乘法有沒有對應的逆運算?這種運算能夠一直在整數上成立嗎?
大整數相加和大整數相乘
大整數運算是我們經常會碰到的演算法面試題之一。大整數運算往往會導致整形溢位而不能在ide直接通過四則運算執行。下面是python3寫的大整數相乘和大整數相加函式。原理都較為相似,模擬手寫演算的場景從後往前計算並且考慮進製。def multy n1,n2 n1 str n1 1 n2 str n2 1...
和整數相乘 分治演算法解大整數相乘問題
有兩個n位大整數,它們數值之分大,如。現在要計算它們的乘積。逐位相乘 錯位相加,時間複雜度。效率太低。將n位的二進位制整數x和y各分為2段,每段的長為n 2位 為簡單起見,假設n是2的冪 此處整數用2進製表示。複雜度分析 x乘y,一共有4次位大整數相乘,3次加法,2次移位。這種分治的複雜度與傳統計算...
大整數相乘
一 乘數和被乘數為long型別的 public class bignumberchenglong int pi1 new int getlength p1 int pi2 new int getlength p2 將乘數和被乘數存入陣列中 long temp p1 int num 0 int i 0...