在這總結下基本數論,其實數論並不是什麼深奧的東西。不過現在討論的是基本數論
一.素數
所謂素數,就是一個正整數,它除了本身和 1 以外並沒有任何其他因子。素數就好象是正整數的原子一樣,著名的高斯「唯一分解定理」說,任何一個整數。可以寫成一串質數相乘的積。所以這又稱為質數
數論中有兩個關於素數的著名猜想:
1.哥德巴哈猜想:任意一個大於4的偶數必定可以表示為兩素數之和
哥德巴哈猜想有兩個內容,第一部分叫做奇數的猜想,第二部分叫做偶數的猜想。奇數的猜想指出,任何一個大於等於7的奇數都是三個素數的和。偶數的猜想是說,大於等於4的偶數一定是兩個素數的和。”(引自《哥德巴哈猜想與潘承洞》)
2.孿生素數猜想:所謂孿生素數指的就是這種間隔為 2 的相鄰素數,它們之間的距離已經近得不能再近了,就象孿生兄弟一樣。最小的孿生素數是 (3, 5),在 100 以內的孿生素數還有 (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61) 和 (71, 73),總計有 8 組。
二.
費馬(Fermat):數論大師
1.費馬大定理:n>2是整數,則方程x^n+y^n=z^n沒有滿足xyz≠0的整數解。這個是不定方程,它已經由美國數學家證明了(1995年),證明的過程是相當艱深的!
2.費馬小定理:若p為素數,a為正整數,那麼一定有a^p≡a(Mod p)
三:倍數和約數:若a被m整除,則m是a的約數,a是m的倍數
(a/m)
四:約數個數公式:若任意整數a的標準分解:a=p1^e1*p2^e2*...*pn^en 那麼a的約數的個數為(e1+1)(e2+1)...(en+1)
五:最大公約數:設a>b,若r≡a(Mod b),則gcd(a,b) = gcd(r,b) ,符號gcd(a,b)表示a,b的最大公約數,演算法時間複雜度O(logb)
Code:
- int g(int a , int b) //遞迴實現
- {
- return (b? g(b , a%b ) : a);
- }
- int g(int a , int b) //非遞迴實現
- {
- while (b){ int t = a % b; a = b; b = t; } //輾轉相除
- return a;
- }
六:最小公倍數:lcm(a,b) = a*b/gcd(a,b)
七:同餘運算基本定理:例子:100-60除以8正好除盡,我們就說100和60對於模數8同餘 =>可以把它寫成 100≡60(mod 8) a mod 3 = 1 -> a≡1(mod 3) 性質:如果a≡b(mod m),x≡y(mod m),則a+x≡b+y(mod m)。證明:條件告訴我們,可以找到p和q使得a-mp = b-mq,也存在r和s使得x-mr = y-ms。於是a-mp + x-mr = b-mq + y-ms,即a+x-m(p+r) = b+y-m(q+s),這就告訴我們a+x和b+y除以m的餘數相同。
容易想到,兩個同餘式對應相乘,同餘式兩邊仍然相等:
如果a≡b(mod m),x≡y(mod m),則ax≡by(mod m)。
證明:條件告訴我們,a-mp = b-mq,x-mr = y-ms。於是(a-mp)(x-mr) = (b-mq)(y-ms),等式兩邊分別展開後必然是ax-m(...) = by-m(...)的形式,這就說明ax≡by(mod m)。
八:互素性質:又可以稱為互質,若兩正整數的最大公約數為1,那麼這兩個數為互素關係
九.梅森素數:
對於p=2,3,5,7,13,17,19,31,67,127和257,2p-1都是素數,而對於其它小於257的素數p,2p-1都是合數。今天我們把形如M_p=2p-1的素數叫做梅森素數,M_p中的M就是梅森姓氏的第一個字母