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
問題描述: 給定n位正整數a,去掉其中任意k個數字后,剩下的數字按原次序排列成一個新的正整數。 算法設計: 給定n (1<=n<=200)位的正整數a和k,此時,k小于n。 試著設計一個算法,找出刪去k個數,剩下數字組成的新數最小的刪數方案。
上傳時間: 2014-12-21
上傳用戶:qq21508895
基于Ucos的多任務實現 (1) 求出四路通道的平均值,并繪制在顯示屏上(平均值應該象其他通道的值一樣,可以根據實時采集值的變化而變化)。 (2) 報警,在超出閾值時報警一次,如果此后此通道的值不變則不再報警,若此通道的值被調小為小于閾值而后又被調為大于閾值,則再次報警一次。 (3) 結合實驗十八,設置時間和日期初值,并實時顯示在LCD上(同各通道的值同屏顯示)。并能夠在整點的時候發聲提示。
上傳時間: 2014-01-13
上傳用戶:AbuGe
該論文主要是講述編寫一個叫“雨一直下”的小游戲的整個過程。包括引言、問題陳述、問題分析、設計實現、評價總結幾個部分。其中引言部分主要是介紹JAVA語言區別于其他語言的無可比擬的優點以及在編寫游戲方面的優勢,這也是我們為什么用JAVA 寫的原因。問題陳述主要講為何編寫這個游戲,以及對整個游戲進行整體的一個構思,規劃,要實現的基本功能,玩法及規則等。問題分析就是用面向對象的分析的方法對我們的構思進行解析,抽象出類、屬性、方法等,為第四步的具體實現打基礎。
上傳時間: 2014-01-26
上傳用戶:qiaoyue
一、修改產品詳細頁面的附件塊 二、添加上瀏覽歷史模塊 三、在后臺加入自定義首頁、自定義頁頭、自定義頁腳內容功能 四、在后臺修改網站全局CSS樣式文件功能 五、在后臺修改每個模塊的模板內容功能 六、修改虛擬商品訂購流程 七、修改了國內EMS和宅配通的后臺配置位置省不顯示的問題 八、修改了后臺商品詳細信息中的商品屬性添加錯誤和不能修改的問題 九、分類加入排序功能 十、新加入備份數據庫功能,可以自動列出備份時間距現在的時差,文件名等信息,可以下載已經打成包的SQL文件。 十一、將前臺的訂單編號由原來的“FA”改為“#” 十二、添加了可以添加多種類型的廣告模塊 十三、將后臺訂單列表中的客戶姓名顯示不全的問題修正 十四、將模塊排序的頁面中分類名加入語言包 十五、其它語言包及其它小問題的修正
上傳時間: 2014-01-14
上傳用戶:yph853211
給定n位正整數a,去掉其中任意k<=n個數字后,剩下的數字按原次序排列組成一個新的正整數,設計算法找出剩下的數字組成的新數最小的刪數方案
上傳時間: 2013-12-26
上傳用戶:thinode
四種聚類算法源代碼及示例代碼,本程序的最終目的是形成一套標準的用于聚類、可擴展的工具。包括的內容有1. 聚類算法:Kmeans和Kmedoid算法、FCMclust, GKclust, GGclust算法 2. 評估分類原型:程序可以在二維圖像上繪制出聚類的結果 3. 驗證:程序給每一個算法提供驗證機制,每個聚類算法會統計Partition Coefficient (PC), Classification Entropy (CE), Partition Index (SC), Separation Index (S), Xie and Beni s Index (XB), Dunn s Index (DI) and Alternative Dunn Index (DII)幾種衡量指標。
標簽: FCMclust GKclust GGclust Kmedoid
上傳時間: 2013-12-17
上傳用戶:13160677563
最短路徑問題(用無向圖表示n個城市之間的交通網絡建設規劃,頂點表示城市,邊上的權表示該線路的造價,試設計一個方案,使得這個交通網的總造價最小。)
上傳時間: 2017-02-15
上傳用戶:nairui21
中卷積碼就是一種較好的信道編碼方式。這種編碼方式同樣是把k個信息比特編成n個比特,但k和n通常很小,特別適宜于以串行形式傳輸信息,減小了編碼延時。這里是卷積碼的viterbi算法C源代碼。
上傳時間: 2017-03-27
上傳用戶:ruixue198909