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
編寫具有如下原型的函數:int f(unsigned long x, int n, int& Lxn) 它負責將整數x的第n位(從左邊數第n位,n>0)的數值放到引用Lxn之中(將作為結果返回到主調函數的對應實參變量中),并將倒數第n位(從右邊數第n位,n>0)的數值作為函數結果返回去。并編制主函數對它進行調用以驗證其正確性。 例如,當x=123456789,n=7時,執行語句“Rxn=f(x, n, Lxn) ”將使返回的Lxn為7,并使Rxn變為3;而執行語句“Rxn=f(12345, 6, Lxn) ”將使Lxn與Rxn都變為為0(超出數的“長度”即總位數時返回0)。
上傳時間: 2017-01-02
上傳用戶:s363994250
問題描述: 給定n位正整數a,去掉其中任意k個數字后,剩下的數字按原次序排列成一個新的正整數。 算法設計: 給定n (1<=n<=200)位的正整數a和k,此時,k小于n。 試著設計一個算法,找出刪去k個數,剩下數字組成的新數最小的刪數方案。
上傳時間: 2014-12-21
上傳用戶:qq21508895
//建立按鈕上標簽的字符串 label = XmStringCreateSimple["Hello World!"] n = 0 XtSetArg[args[n], XmNlabelString, label] n++ button = XmCreatePushButton[toplevel, "pushbutton", args, n] XtManageChild[button] XmStringFree[label] //設置回調函數 XtAddCallback[button, XmNactivateCallback, callback, NULL]
標簽: XmStringCreateSimple XtSetArg XmNlab label
上傳時間: 2017-03-21
上傳用戶:fredguo
//建立頂級窗口 toplevel = XtVaAppInitialize[&app, "Form", NULL, 0, &argc, argv, NULL, NULL] n = 0 XtSetArg[args[n], XmNwidth, 500] n++ XtSetArg[args[n], XmNheight, 500] n++ XtSetValues[toplevel, args, n] //建立主窗口 form = XmCreateForm[toplevel, "form", NULL, 0] XtManageChild[form] //建立菜單條 n = 0 XtSetArg[args[n], XmNtopAttachment, XmATTACH_FORM] n++ XtSetArg[args[n], XmNleftAttachment, XmATTACH_FORM] n++ XtSetArg[args[n], XmNrightAttachment, XmATTACH_FORM] n++ menubar = XmCreateMenuBar[form, "menubar", args, n] XtManageChild[menubar] create_menu[menubar]
標簽: NULL XtVaAppInitialize toplevel Form
上傳時間: 2013-12-19
上傳用戶:亞亞娟娟123
在0 / 1背包問題中,需對容量為c 的背包進行裝載。從n 個物品中選取裝入背包的物品,每件物品i 的重量為wi ,價值為pi 。對于可行的背包裝載,背包中物品的總重量不能超過背包的容量,最佳裝載是指所裝入的物品價值最高,即n ?i=1pi xi 取得最大值。約束條件為n ?i =1wi xi≤c 和xi?[ 0 , 1 ] [ 1≤i≤n]。
標簽: 背包問題
上傳時間: 2017-03-28
上傳用戶:6546544
以cos(2*pi*k*t/N)信號空間,k=0,1,……N-1, 取N= 4,8,16,32,64等基信號作為傳輸信號,通過計算機仿真正交信號的誤碼率。
上傳時間: 2014-01-02
上傳用戶:851197153
【問題描述】 在一個N*N的點陣中,如N=4,你現在站在(1,1),出口在(4,4)。你可以通過上、下、左、右四種移動方法,在迷宮內行走,但是同一個位置不可以訪問兩次,亦不可以越界。表格最上面的一行加黑數字A[1..4]分別表示迷宮第I列中需要訪問并僅可以訪問的格子數。右邊一行加下劃線數字B[1..4]則表示迷宮第I行需要訪問并僅可以訪問的格子數。如圖中帶括號紅色數字就是一條符合條件的路線。 給定N,A[1..N] B[1..N]。輸出一條符合條件的路線,若無解,輸出NO ANSWER。(使用U,D,L,R分別表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【輸入格式】 第一行是數m (n < 6 )。第二行有n個數,表示a[1]..a[n]。第三行有n個數,表示b[1]..b[n]。 【輸出格式】 僅有一行。若有解則輸出一條可行路線,否則輸出“NO ANSWER”。
標簽: 點陣
上傳時間: 2014-06-21
上傳用戶:llandlu
Fortran - Tóm tắ t nộ i dung mô n họ c Các khái niệ m và yế u tố trong ngô n ngữ lậ p trình FORTRAN. Các câ u lệ nh củ a ngô n ngữ FORTRAN. Cơ bả n về chư ơ ng chư ơ ng dị ch và mô i trư ờ ng lậ p trình DIGITAL Visual Fortran. Viế t và chạ y các chư ơ ng trình cho các bài toán đ ơ n giả n bằ ng ngô n ngữ FORTRAN.
上傳時間: 2013-12-25
上傳用戶:songrui
metricmatlab ch ¬ ng 4 Ma trË n - c¸ c phÐ p to¸ n vÒ ma trË n. 4.1 Kh¸ i niÖ m: - Trong MATLAB d÷ liÖ u ® Ó ® a vµ o xö lý d íi d¹ ng ma trË n. - Ma trË n A cã n hµ ng, m cét ® î c gä i lµ ma trË n cì n m. § î c ký hiÖ u An m - PhÇ n tö aij cñ a ma trË n An m lµ phÇ n tö n» m ë hµ ng thø i, cét j . - Ma trË n ® ¬ n ( sè ® ¬ n lÎ ) lµ ma trË n 1 hµ ng 1 cét. - Ma trË n hµ ng ( 1 m ) sè liÖ u ® î c bè trÝ trª n mét hµ ng. a11 a12 a13 ... a1m - Ma trË n cét ( n 1) sè liÖ u ® î c bè trÝ trª n 1 cét.
標簽: metricmatlab 203 184 tr
上傳時間: 2017-07-29
上傳用戶:來茴