演算法 日更 第二十六期 非常基礎的數論

2022-07-12 11:15:11 字數 566 閱讀 5868

一說到基礎數論,那麼我們就從整除那套理論開始談起。

▎整除☞

『定義』

如果a能把b整除,也就是沒有餘數,則我們稱a整除b,亦稱b被a整除,記為a|b。

其中的「|」稱為整除符號。

☞『性質』

①自反性:顯然,對於任意正整數n,有n|n;

②傳遞性:若有a|b,b|c,則有a|c;

③反對稱性:若a|b,b|a,則有a=b;

其中性質③很有用,通常用於無法直接證明a=b的情況,不過用到的少。

▎約數和倍數

☞『定義』

如果a|b,那麼a是b的約數,b是a的倍數,也稱a是b的因數/因子。

☞『推論』

任何數n都有兩個平凡因子(1除外),即1和n;

其餘的因子稱為非平凡因子。

▎質數與合數

☞『定義』

設正整數p≠0,1。如果它除了1和p外沒有其他約數,那麼就稱p是質數,否則就是合數。

☞『推論』

若a為合數,那麼a就能表示為a=pq,其中p,q>1,那麼p和q一定有乙個不超過√a,於是就有了判斷乙個數是否是質數的o(√n)演算法。

歐幾里得演算法 第二十六期 歐幾里得演算法

今天一同事問 輾轉相除法的數學原理是什麼呢?今天我們就一起來認識認識輾轉相除法。輾轉相除法又稱歐幾里得演算法,是用於求兩個大數的最大公因數的一種方法。這一方法其實類似於中國的 更相減損術 在 九章算術 有言 可半者半之,不可半者,副置分母 子之數,以少減多,更相減損,求其等也。以等數約之。具體做法是...

第二十六期 openEuler組合語言(2)

上一期中我們介紹了一些arm組合語言的程式設計方法,這一期我們介紹一下arm內嵌彙編器並嘗試分析一下openeuler中的一段彙編 c c 編譯器中包含了內嵌彙編器,使用這些內嵌彙編器可以在c或c 中使用大部分arm指令和thumb指令。內嵌彙編指令中,作為運算元的暫存器和常量可以是c或c 表示式,...

演算法導論 第二十六章最大流

一,概念 1 流網路 簡單有向圖,且有兩個特別的頂點 源點s,匯點t 2 流的邊標識為f u,v c u,v 流量 容量 3 流的三個性質 1 容量限制 對於所有邊 流量 容量 2 反對稱性 f u,v f v,u 3 流守恆性 正向流與反響流之和為零 4 割 流網路g v,e 的割 s,t 將頂點...