1. 程式人生 > >華羅庚文集 數論卷Ⅱ 二、同餘式(一)

華羅庚文集 數論卷Ⅱ 二、同餘式(一)

以下整理自華羅庚文集數論卷Ⅱ(2010年版)

§1 定義

令m為一自然數,若a-b為m之倍數,則謂之“a,b對模m同餘(congruent)”。以a≡b(mod m)表示之。

對任二整數a及b,常有a≡b(mod 1)。

§2 同餘式之基本性質

定理一 (i)a≡a(mod m) (反身性);
           (ii)若a≡b(mod m),則b≡a(mod m)(對稱性);
           (iii)若a≡b,b≡c(mod m),則a≡c(mod m)(傳遞性)。

由此三項性質可以分整數為若干類,同類之數皆同餘,異類者皆不同餘,此項之類,名為同餘類。顯然,如以m為模,有m個同餘類:以m除餘1之數為一類,餘2之數為一類,等等。每類中各取一數為代表,此代表組名為一完全剩餘系。

定理二    若a≡b,a1≡b1(mod m),則a+a1≡b+b1,a-a1≡b-b1(mod m),及a*a1≡b*b1(mod m)

定理二也可改述如次:任與二類A,B,其中各取一代表a及b,命a+b(或a-b,或ab)所代表之類為C。則C僅與A,B有關,而與其所取之代表無關。亦即A,B中各取一數,其和必在C中。故可定義類C為類A類B之和。以C=A+B表之。同樣,可以定義A-B及A*B。由定理二也可推得“對模m之諸類,對加減乘自封”,但對除法不一定可能,例如3*2≡1*2,2≡2(mod 4),但3!≡1(mod 4)。故有定理三。

定理三    若ac≡bd(mod m),c≡d(mod m)及(c,m)=1,則a≡b(mod m)。

以O表諸m之倍數所成之類,易知A+O=A,A*O=O。又以I表以m除餘1諸數所成之類,易見A*I=A。即由A*B=A*C不一定可得B=C。但A中之數與m為互素(注意:如A中有一數與m互素,則其他諸數也與m互素),則可得B=C。如取m為素數p,則除O之外,其他諸類皆與m互素。故得“對素數p,所有的同餘類對加減乘除自封,但行除法時,不能以O去除”。

§3 縮剩餘系

前節已述及,若一類A中有一數與m互素,則A中所有數皆與m互素,或逕述為類A與m互素。若類A與m互素,定義B/A,特別以A^{-1}記I/A。例如:

A 0 1 2 3 4
A^(-1) X 1 3 2 4

             (mod 5)

A 0 1 2 3 4 5
A^(-1) X 1 X X X 5

             (mod 6)

表中“X”表示“無意義”。

定義    命ψ(m)為m互素之類之個數。此ψ(m)命為Euler函式,在與m互素之諸類中各取一代表a_1,\cdots ,a_{\varphi (m)},此名為一縮剩餘系或簡稱縮系,例如:ψ(1)=1,ψ(2)=1,ψ(3)=2,ψ(4)=2等等。此ψ(m)也可述為:不大於m且與m互素之正整數之個數。若m=p為素數,則ψ(p)=p-1。

定理一    若a_1,a_2,\cdots ,a_{\varphi (m)}為一縮系,及(k,m)=1,則ka_1,ka_2,\cdots ,ka_{\varphi (m)}亦為一縮系。

定理二    (Euler) 若(k,m)=1,則k^{\varphi (m)}\equiv 1(mod\, m)

取m=p,立得Fermat定理。

定理三    若p為素數,則對所有之整數a有次之同餘式a^p\equiv a(mod\, p)

相關推薦

華羅庚文集 數論

以下整理自華羅庚文集數論卷Ⅱ(2010年版) §1 定義 令m為一自然數,若a-b為m之倍數,則謂之“a,b對模m同餘(congruent)”。以a≡b(mod m)表示之。 對任二整數a及b,常有a≡b(mod 1)。 §2 同餘式之基本性質 定理一 (i)a

問題——擴充套件歐幾里得exgcd

前言 擴充套件歐幾里得演算法是一個很好的解決同餘問題的演算法,非常實用。 歐幾里得演算法 簡介 歐幾里得演算法,又稱輾轉相除法。 主要用途 求最大公因數gcdgcdgcd。 公式 gcd(a,b)=g

高次筆記:baby-step-giant-step演算法

我們來看這個方程: a,b,p為常數且在int內。、p是質數。 這個怎麼搞? 首先x的取值肯定在0到p-1之間。 暴搜?肯定超時啊。 優化暴搜?用meet-in-the-middle? 先來說說meet-in-the-middle怎麼做。 就是

求解

求解形如 x^2 = a (mod p) 這樣的同餘式 /* 模P平方根: 求 X ^2 = a (mod p) 定理:當P為!!!奇素數 !!!的時候 先判斷(a / p )的勒讓德符號, 若為-1則無解,若為1則有解 分解P-1,然後求B

Linear Regression 練習轉載

hold off int 必須 html 移動 根據 which win from 轉載鏈接:http://www.cnblogs.com/tornadomeet/archive/2013/03/15/2961660.html 前言   本文是多元線性回歸的練習,這裏練習的

InnoDB體系架構

clean bubuko page 後臺線程 重做 不能 類型 bsp 釋放 1、體系架構圖 2、後臺線程 線程名 功能 1 Master Thread 緩沖池中的數據異步刷新到磁盤,包括臟頁的刷新、合並插入緩沖、undo頁的回收 2 IO

caioj 1154 方程模版

求x的最小正整數解,使得ax=b(mod m) 那麼顯然ax - b = m * y ax - my = b 那麼就套入Ax+By = K的不定方程中,然後用exgcd求解即可 但這道題求最大正整數解,對於一組解,有這樣一個推論 x = x0 +k*(b/gcd(a

方程NOIP2012

問題描述 求關於x的同餘方程 ax≡1(mod)b的最小正整數解。 輸入檔案 輸入只有一行,包含兩個正整數a,b,用一個空格隔開。 輸出檔案 輸出只有一行,包含一個正整數x0,即最小正整數解。輸入資料保證一定有解。 樣例輸入 3 10 樣例輸出 7 限制與約定

方程組EXCRTluogu4777

#include<cstdio> #include<algorithm> #define ll long long using namespace std; ll k; ll a1,r1; ll a2,r2; ll x,y; ll g; void init(

【OpenCV影象處理】影象邊緣檢測

→影象邊緣檢測的目的是檢測鄰域內灰度明顯變化的畫素,常用一階差分和二階差分來進行邊緣檢測 →數字影象中的邊緣是由鄰域內灰度值明顯變化的畫素構成,邊緣檢測主要是影象灰度的度量檢測和定位 →影象的邊緣有方向和幅值兩個屬性,沿邊緣方向畫素灰度值變化平緩或不發生變化,而垂直於邊緣方

非同步選擇模型WSAAsyncSelect

█ 非同步選擇(WSAAsyncSelect)模型是一個有用的非同步 I/O 模型。利用這個模型,應用程式可在一個套接字上, 接收以 Windows 訊息為基礎的網路事件通知。具體的做法是在建好一個套接字後,呼叫WSAAsyncSelect函式。 該模型的核心即是WSAAs

gcd 和 方程Exgcd

求關於x的同餘方程 ax≡1(mod b) 的最小正整數解。 對於 100%的資料,2≤a,b≤2*109。 NOIP 2012 提高組 第二天 第一題 (只看Exgcd的自行跳過這段文字) 先撇開擴充套件歐幾里得什麼的不管,首先證明輾轉相除法。 gcd(greatest common divisor),是一

轉載【項目管理和構建】——Maven下載安裝和配置

文檔 port 目標 軟件項目管理 strong mar temp mave work 原文鏈接: http://blog.csdn.net/jiuqiyuliang/article/details/41076215 在現實

內核啟動

ddc 解壓縮 star m283 using 獲得 eterm obj cmode   內核的實際起始函數為 start_kernel() 函數,然後再調用其他函數來執行啟動。再調用此函數之前,需要先將通過編譯內核獲得的 zImage 進行解壓,請按成頁目錄構建等基本任務

Python練習之基礎語法數據類型字符編碼文件操作

AD 編碼 基礎 orm 分享 基本知識 mage fff pos 最近做了幾道練習題,用的都是一些python的基本知識,但每道題都有層次,需要紮實的基礎功底。 第一道 基礎需求: 讓用戶輸入用戶名密碼 認證成功後顯示歡迎信息 輸錯三次後退出程序 升級需求: 可以支持多

k8s中的儲存-節點和POD儲存資料

容器的儲存卷 Pod是自己有生命週期的 Pod消失後資料也會消失 所以我們要把資料放在一個容器的外面 docker儲存卷在k8s上只有一定的儲存性,因為k8s是排程的,Pod掛掉之後再啟動不會預設之前的資料位置 脫離節點的儲存裝置才可以解決持久能力 在K8s上Pod刪除,儲存卷也

整合學習之boosting,AdaboostGBDT 和 xgboost

在前面的部落格(https://blog.csdn.net/qq_16608563/article/details/82878127) 介紹了整合學習的bagging方法及其代表性的隨機森林。此次接著介紹整合學習的另一個方法boosting以及boosting系列的一些演算法,具體包括 Ad

Delphi中Chrome ChromiumCef3學習筆記

原文   http://blog.csdn.net/xtfnpgy/article/details/46635225   官方下載地址:https://cefbuilds.com/     CEF

C++ XML的建立讀取和修改

跟C#不太一樣,需要呼叫一個TinyXML庫來生成XML,庫的原始碼地址為https://github.com/leethomason/tinyxml2,找到“clone or down”進行下載,,解壓之後,將tinyxml2.h 和 tinyxml2.cpp放入工程檔案中,呼

維陣列專練

p1077 陣列一位轉二維 題目 描述 Description 輸入一個一維陣列,按要求建立如下二維陣列,並輸出 輸入格式 Input Format 第一行一個整數n<=500 第二行,連續n個整數。 輸出格式 Output Format 按要求的二維陣列 樣例輸入