華羅庚文集 數論卷Ⅱ 二、同餘式(一)
以下整理自華羅庚文集數論卷Ⅱ(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,特別以記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互素之諸類中各取一代表,此名為一縮剩餘系或簡稱縮系,例如:ψ(1)=1,ψ(2)=1,ψ(3)=2,ψ(4)=2等等。此ψ(m)也可述為:不大於m且與m互素之正整數之個數。若m=p為素數,則ψ(p)=p-1。
定理一 若為一縮系,及(k,m)=1,則亦為一縮系。
定理二 (Euler) 若(k,m)=1,則。
取m=p,立得Fermat定理。
定理三 若p為素數,則對所有之整數a有次之同餘式。
相關推薦
華羅庚文集 數論卷Ⅱ 二、同餘式(一)
以下整理自華羅庚文集數論卷Ⅱ(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 限制與約定
同餘方程組(EXCRT)(luogu4777)
#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,Adaboost、GBDT 和 xgboost(一)
在前面的部落格(https://blog.csdn.net/qq_16608563/article/details/82878127) 介紹了整合學習的bagging方法及其代表性的隨機森林。此次接著介紹整合學習的另一個方法boosting以及boosting系列的一些演算法,具體包括 Ad
Delphi中Chrome Chromium、Cef3學習筆記(一)
原文 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 按要求的二維陣列 樣例輸入