• <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免费视频| 久久精品aⅴ无码中文字字幕重口| 日本久久久久久久久久| 久久久久久久久久免免费精品| 免费观看久久精彩视频| 亚洲午夜精品久久久久久人妖| 精品国产乱码久久久久久郑州公司| 亚洲狠狠婷婷综合久久蜜芽| 日韩人妻无码一区二区三区久久 | 久久夜色tv网站| 久久午夜电影网| 久久婷婷综合中文字幕| 久久综合九色综合欧美狠狠| 热久久这里只有精品| 精品人妻伦九区久久AAA片69| 久久久久亚洲AV成人网| 中文精品99久久国产 | 亚洲AV无码久久精品色欲| 亚洲伊人久久精品影院| 国产精品99久久精品| 94久久国产乱子伦精品免费| 久久综合亚洲色HEZYO国产 | 亚洲成av人片不卡无码久久| 国内精品久久国产| 成人综合伊人五月婷久久| 国产亚州精品女人久久久久久| 中文精品久久久久人妻| 99国产欧美久久久精品蜜芽| 精品水蜜桃久久久久久久| 久久精品国产久精国产果冻传媒 | 精品久久久久久久| 日本久久中文字幕| 国产亚洲美女精品久久久久狼| 久久夜色撩人精品国产小说| 久久久久免费看成人影片| 久久精品二区| 国产99久久精品一区二区| 久久影院午夜理论片无码 | 国产综合精品久久亚洲|