• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ArcTan

            dfs
            隨筆 - 16, 文章 - 117, 評(píng)論 - 6, 引用 - 0
            數(shù)據(jù)加載中……

            poj1284(歐拉函數(shù) 原根)

            原根Primitive Root

              設(shè)m是正整數(shù),a是整數(shù),若a模m的階等于φ(m),則稱a為模m的一個(gè)原根。(其中φ(m)表示m的歐拉函數(shù))

              假設(shè)一個(gè)數(shù)g對(duì)于P來說是原根,那么g^i mod P的結(jié)果兩兩不同,且有 1<g<P, 0<i<P,那么g可以稱為是P的一個(gè)原根,歸根到底就是g^(P-1) = 1

            (mod P)當(dāng)且當(dāng)指數(shù)為P-1的時(shí)候成立.(這里P是素?cái)?shù)).

              簡單來說,g^i mod p ≠ g^j mod p (p為素?cái)?shù))

              其中i≠j且i, j介於1至(p-1)之間

              則g為p的原根。

            【算法】定理1:如果p有原根,則它恰有φ(φ(p))個(gè)不同的原根(無論p是否為素?cái)?shù)都適用)     {x^i%p | 1 <= i <= p - 1} = {1,2,...,p-1} 等價(jià)于
                  {x^i%(p-1) | 1 <= i <= p - 1} = {0,1,2,...,p-2}, 即為(p-1)的完全剩余系若x,x2...x(p-1)是(p-1)的完全剩余系,根據(jù)定理,可以推出若
             
                  gcd(x, p-1) = 1時(shí), (1,x,...,x(p-2))也是(p-1)的完全剩余系 因?yàn)槿魓^i != x^j (mod p-1),那么x*x^i != x*x^j (mod p-1), 與條件m矛盾,
                  所以 x^i = x^j (mod p-1), 由此可以確定答案為Euler(p-1)

            p的原根為euler(euler(p)),篩法求出歐拉函數(shù)。

            #include<stdio.h>
            #include<string.h>
            #include<math.h>
            int p
            [70007];
            int GetEula()
            {
                int i
            ,j;
                for (i=1;i<=70000 ;i++ )
                    p[i]=i;
                i=2;
                while (i<70000)
                {
                    while (p
            [i]<i)    i++;
                    j=i;
                    while (j<=70000)
                    {
                        p
            [j]=p[j]*(i-1)/i;
                        j+=i;
                    }
                }
            }
            int main()
            {
                int n
            ;
                GetEula();
                while (scanf("%d",&n)==1)
                    printf(
            "%d\n",p[n-1]);
                return 0;
            }

            posted on 2012-04-28 16:26 wangs 閱讀(373) 評(píng)論(0)  編輯 收藏 引用 所屬分類: ACM-數(shù)學(xué)

            久久高清一级毛片| 成人综合久久精品色婷婷| 久久精品国产99国产精品澳门 | 国内精品欧美久久精品| 久久99精品久久久久久不卡| 欧美日韩精品久久免费| 国产精品美女久久久久网| 久久天天躁狠狠躁夜夜av浪潮| 一本一道久久a久久精品综合| 99久久精品国内| 精品久久久久久中文字幕大豆网 | 国产免费福利体检区久久| 国产精品久久久久免费a∨| 久久精品嫩草影院| 日本五月天婷久久网站| 国产精品免费久久久久久久久| 亚洲精品乱码久久久久久按摩| 精品久久久久久无码人妻蜜桃| 久久久久亚洲AV片无码下载蜜桃| 色婷婷久久久SWAG精品| 国产精品久久久久9999| 久久国产精品无码HDAV| 亚洲国产精品无码久久久蜜芽| 久久噜噜电影你懂的| 久久综合国产乱子伦精品免费| 久久天天婷婷五月俺也去| 久久精品国产福利国产琪琪| 26uuu久久五月天| 99久久免费国产精精品| 久久狠狠爱亚洲综合影院| 精品免费久久久久国产一区| 久久99国产精品久久久| 99久久久国产精品免费无卡顿 | 丁香色欲久久久久久综合网| 热RE99久久精品国产66热| 蜜桃麻豆www久久国产精品| 久久久久国产精品麻豆AR影院 | 久久综合日本熟妇| 香蕉久久久久久狠狠色| 中文字幕久久精品| 亚洲AV无码久久精品蜜桃|