Euler函數: m = p1^r1 * p2^r2 * …… * pn^rn ai >= 1 , 1 <= i <= n Euler函數: 定義:phi(m) 表示小于等于m并且與m互質的正整數的個數。 phi(m) = p1^(r1-1)*(p1-1) * p2^(r2-1)*(p2-1) * …… * pn^(rn-1)*(pn-1) = m*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pn) = p1^(r1-1)*p2^(r2-1)* …… * pn^(rn-1)*phi(p1*p2*……*pn) 定理:若(a , m) = 1 則有 a^phi(m) = 1 (mod m) 即a^phi(m) - 1 整出m 在實際代碼中可以用類似素數篩法求出 for (i = 1 i < MAXN i++) phi[i] = i for (i = 2 i < MAXN i++) if (phi[i] == i) { for (j = i j < MAXN j += i) { phi[j] /= i phi[j] *= i - 1 } } 容斥原理:定義phi(p) 為比p小的與p互素的數的個數 設n的素因子有p1, p2, p3, … pk 包含p1, p2…的個數為n/p1, n/p2… 包含p1*p2, p2*p3…的個數為n/(p1*p2)… phi(n) = n - sigm_[i = 1](n/pi) + sigm_[i!=j](n/(pi*pj)) - …… +- n/(p1*p2……pk) = n*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pk)
上傳時間: 2014-01-10
上傳用戶:wkchong
//Euler 函數前n項和 /* phi(n) 為n的Euler原函數 if( (n/p) % i == 0 ) phi(n)=phi(n/p)*i else phi(n)=phi(n/p)*(i-1) 對于約數:divnum 如果i|pr[j] 那么 divnum[i*pr[j]]=divsum[i]/(e[i]+1)*(e[i]+2) //最小素因子次數加1 否則 divnum[i*pr[j]]=divnum[i]*divnum[pr[j]] //滿足積性函數條件 對于素因子的冪次 e[i] 如果i|pr[j] e[i*pr[j]]=e[i]+1 //最小素因子次數加1 否則 e[i*pr[j]]=1 //pr[j]為1次 對于本題: 1. 篩素數的時候首先會判斷i是否是素數。 根據定義,當 x 是素數時 phi[x] = x-1 因此這里我們可以直接寫上 phi[i] = i-1 2. 接著我們會看prime[j]是否是i的約數 如果是,那么根據上述推導,我們有:phi[ i * prime[j] ] = phi[i] * prime[j] 否則 phi[ i * prime[j] ] = phi[i] * (prime[j]-1) (其實這里prime[j]-1就是phi[prime[j]],利用了歐拉函數的積性) 經過以上改良,在篩完素數后,我們就計算出了phi[]的所有值。 我們求出phi[]的前綴和 */
上傳時間: 2016-12-31
上傳用戶:gyq
Visual 開發 希望對你們有幫助 public static int Rom(int n, int m)//雙寄或雙偶 { int count = 0 //第一排Y坐標上要幾個 if (n < m) { for (int i = 1 i <= n i = i + 2) { count++ } } else { for (int j = 1 j <= m j = j + 2) { count++ } } return count }
上傳時間: 2013-12-13
上傳用戶:懶龍1988
本文是以數位訊號處理器DSP(Digital Singal Processor)之核心架構為主體的數位式溫度控制器開發,而其主要分為硬體電路與軟體程式兩部分來完成。而就硬體電路來看分為量測電路模組、DSP周邊電路及RS232通訊模組、輸出模組三個部分,其中在輸出上可分為電流輸出、電壓輸出以及binary command給加熱驅動裝置, RS232 除了可以與PC聯絡外也可以與具有CPU的熱能驅動器做命令傳輸。在計畫中分析現有工業用加熱驅動裝置和溫度曲線的關係,並瞭解其控制情況。軟體方面即是溫控器之中央處理器程式,亦即DSP控制程式,其中包括控制理論、感測器線性轉換程式、I/O介面及通訊協定相關程式。在控制法則上,提出一個新的加熱體描述模型,然後以前饋控制為主並輔以PID控制,得到不錯的控制結果。
標簽: Processor Digital Singal DSP
上傳時間: 2013-12-24
上傳用戶:zjf3110
電子報軟體. 你想輕輕鬆鬆的寄送電子報 功能介紹: 1. 支援多個伺服器分散流量. (已可設定每次的最大郵件數) 2. 支援多個設定檔選擇. 3. 可直接選擇硬碟內的 HTML, 純文字檔當做寄信內容. 4. 支援定時、每日、每週、每月送信. 5. 配合 ServiceAgent 可以成為NT/2000下的服務. 6. 可夾帶附件檔案. 7. 在原本可直接選取電腦硬碟上的檔案(HTML)來做為HTML寄信的本文之外, 目前已能將 HTML 內的圖檔(gif,jpg,bmp,png)的 <img> tag 和 音效檔(wav,mid,swf)的<EMBED> tag 的內容一起勘進郵件內容裡. 8. 以 Command Line 執行的方式就能啟動寄信流程. 9. 透過電子郵件信箱即可啟動自動化電子報訂閱/取消功能! 開發工具: 1. Delphi 5 2. Indy Winshoes8 (free delphi component)
上傳時間: 2014-01-05
上傳用戶:l254587896
Programming the Microsoft Windows driver model繁中版 透過Windows驅動程式的權威們專業的協助,學習如何使用簡易的方式來撰寫Windows驅動程式。 Microsoft WDM支援隨插即用(PnP)功能,提供了電源管理能力,並詳述撰寫驅動程式/迷你驅動程式的方法。這本由長時間接觸裝置驅動程式的專家Walter Oney 與Windows核心小組共同合作的書提供了大量很實用的例子、圖表、建議,並一行一行分析範例的程式碼,好讓您能夠清楚了解實際上在撰寫驅動程式時所會發生的問題。另外亦更新了Windows XP及Windows 2000的最新驅動程式技術,又告訴您如何除錯。
標簽: Windows Programming Microsoft driver
上傳時間: 2014-01-19
上傳用戶:cjl42111
歐基理德輾轉相除法(之一) 以歐基理德輾轉相除法求出m,n這2個整數的最大公因數
標簽: 除法
上傳時間: 2013-12-30
上傳用戶:wangzhen1990
設有由n個不相同的整數組成的數列,記為: a(1)、a(2)、……、a(n)且a(i)<>a(j) (i<>j) 例如3,18,7,14,10,12,23,41,16,24。 若存在i1<i2<i3< … < ie 且有a(i1)<a(i2)< … <a(ie)則稱為長度為e的不下降序列。如上例中3,18,23,24就是一個長度為4的不下降序列,同時也有3,7,10,12,16,24長度為6的不下降序列。程序要求,當原數列給出之后,求出最長的不下降序列。
上傳時間: 2013-12-14
上傳用戶:tonyshao
一份射頻PCB設計的經驗總結。涉及到手機,GPS,等高頻電路的PCB設計方法。
標簽: PCB
上傳時間: 2017-07-21
上傳用戶:sssl
c++ Ngô n ngữ C cho vi đ iề u khiể n Các tài liệ u tham khả o, ebook. Programming Microcontrollers in C (Ted Van Sickle) C Programming for Microcontrollers (Joe Pardue SmileyMicros.com ) Programming 16-Bit PIC Microcontrollers in C (Jucio di jasio ) C Programming for AVR Programming embedded system I,II (Michael J . Pont ) ( các tài liệ u này đ ã down load về )
上傳時間: 2017-07-29
上傳用戶:壞壞的華仔