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
//建立按鈕上標簽的字符串 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
以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
learningMatlab PhÇ n 1 c¬ së Mat lab Ch ¬ ng 1: Cµ i ® Æ t matlab 1.1.Cµ i ® Æ t ch ¬ ng tr×nh: Qui tr×nh cµ i ® Æ t Matlab còng t ¬ ng tù nh viÖ c cµ i ® Æ t c¸ c ch ¬ ng tr×nh phÇ n mÒ m kh¸ c, chØ cÇ n theo c¸ c h íng dÉ n vµ bæ xung thª m c¸ c th« ng sè cho phï hî p. 1.1.1 Khë i ® éng windows. 1.1.2 Do ch ¬ ng tr×nh ® î c cÊ u h×nh theo Autorun nª n khi g¾ n dÜ a CD vµ o æ ® Ü a th× ch ¬ ng tr×nh tù ho¹ t ® éng, cö a sæ
標簽: learningMatlab 172 199 173
上傳時間: 2013-12-20
上傳用戶:lanwei
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
上傳用戶:來茴
歐拉定理 對于互質的整數a和n,有aφ(n) ≡ 1 mod n
上傳時間: 2014-01-02
上傳用戶:330402686
1微型打印機的C語言源程序 2連接兩個鏈表 3輸入n為偶數時,調用函數求1/2+1/4+...+1/n,當輸入n為奇數時,調用函數 1/1+1/3+...+1/n(利用指針函數) 4時間函數舉例4,一個猜數游戲,判斷一個人反應快慢。 5家庭財務管理小程序
上傳時間: 2013-12-22
上傳用戶:釣鰲牧馬