• <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來(lái)說(shuō)是原根,那么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ù)).

              簡(jiǎn)單來(lái)說(shuō),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è)不同的原根(無(wú)論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 閱讀(372) 評(píng)論(0)  編輯 收藏 引用 所屬分類: ACM-數(shù)學(xué)

            欧美一区二区三区久久综合| 国产成人精品久久一区二区三区av| 国产精品日韩欧美久久综合| 国产99久久九九精品无码| 亚洲精品无码久久久| 国产色综合久久无码有码| 欧美亚洲国产精品久久高清| 久久午夜无码鲁丝片| 久久嫩草影院免费看夜色| 久久久久久久久无码精品亚洲日韩| 亚洲国产精久久久久久久| 久久久久久精品免费看SSS| 青青草国产成人久久91网| 久久精品免费一区二区| 国产99久久久国产精免费| 久久亚洲私人国产精品vA| 伊人情人综合成人久久网小说 | 久久久久99这里有精品10 | 久久精品国产精品国产精品污| 蜜臀久久99精品久久久久久小说| 国产无套内射久久久国产| av国内精品久久久久影院| 久久99热这里只频精品6| 久久播电影网| 99久久99久久精品国产| 久久se精品一区二区| 久久国产精品99精品国产| 久久99久久99精品免视看动漫| 亚洲欧美成人久久综合中文网| 国内精品久久久久久麻豆| 久久精品国产91久久综合麻豆自制 | 久久精品国产亚洲av高清漫画| 午夜精品久久久久| 99久久这里只精品国产免费| 欧美激情精品久久久久久| 久久精品一区二区三区中文字幕| 亚洲伊人久久大香线蕉苏妲己| 国内精品久久久久| 国产激情久久久久影院小草| 久久久WWW免费人成精品| 日本久久中文字幕|