日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数学--数论-数论函数-欧拉函数

發布時間:2023/12/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数学--数论-数论函数-欧拉函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

**歐拉函數定義
對正整數n,歐拉函數是少于或等于n的數中與n互質的數的數目。例如euler(8)=4,因為1,3,5,7均和8互質。

Euler函數表達通式:

其中p1,p2……pn為x的所有素因數,x是不為0的整數。euler(1)=1(唯一和1互質的數就是1本身)。

歐拉公式的延伸:
一個數的所有質因子之和是Euler(n)*n/2。

歐拉函數的相關性質:
3. 歐拉函數性質

(1)歐拉函數為積性函數。(對于數論函數f(n)不恒等于0,當(m,n)=1時,滿足f(mn)=f(m)f(n),則稱f(n)為積性函數)φ(mn)=φ(m)φ(n),(m,n)=1(2)若(m,n)=d,則φ(mn)=dφ(m)φ(n)/φ(d)(3)若m、n滿足m∣n,則φ(mn)=mφ(n)(4)若m、n滿足m∣n,則φ(m)∣φ(n)(5)對于質數p,其歐拉函數公式為φ(p)=p?1(6)對于質數p,pk的歐拉函數公式為φ(pk)=(p?1)pk?1(7)小于等于n且整除n的所有正整數的歐拉函數值之和等于n,即n=Σd∣nφ(d)(8)歐拉定理:若(a,m)=1,則aφ(m)≡1(modm)。(9)擴展歐拉定理ax≡axmodφ(m)(modm),(a,m)=1或ax≡ax(modm),(a,m)≠1且x<φ(m)或ax≡axmodφ(m)+φ(m)(modm),(a,m)≠1且x≥φ(m)(1)歐拉函數為積性函數。\\(對于數論函數 f(n) 不恒等于0,當 (m,n) = 1 時,滿足 f(mn) = f(m)f(n) ,則稱 f(n) 為積性函數)\\ \qquadφ(mn) = φ(m)φ(n),(m,n) = 1\\(2)若 (m,n) = d,則φ(mn) = dφ(m)φ(n)/φ(d)\\ (3)若m、n滿足m|n,則φ(mn) = mφ(n)\\ (4)若m、n滿足m|n,則 φ(m)|φ(n) (5)對于質數p,其歐拉函數公式為 φ(p) = p-1\\ (6)對于質數p,pk的歐拉函數公式為 φ(pk) = (p-1)pk-1\\ (7)小于等于n且整除n的所有正整數的歐拉函數值之和等于n,即 n = Σd|nφ(d)\\ (8)歐拉定理:若(a,m) = 1,則 aφ(m) ≡ 1 (mod m)。\\ (9)擴展歐拉定理\\ \qquad ax ≡ ax mod φ(m) (mod m),(a,m) = 1\\ \qquad或 ax ≡ ax (mod m),(a,m) ≠ 1且x < φ(m)\\ \qquad或 ax ≡ ax mod φ(m) + φ(m) (mod m),(a,m) ≠ 1且x ≥ φ(m)(1)(f(n)0(m,n)=1滿f(mn)=f(m)f(n)f(n))φ(mn)=φ(m)φ(n)(m,n)=1(2)(m,n)=dφ(mn)=dφ(m)φ(n)/φ(d)(3)mn滿mnφ(mn)=mφ(n)(4)mn滿mnφ(m)φ(n)(5)pφ(p)=p?1(6)ppkφ(pk)=(p?1)pk?1(7)nnnn=Σdnφ(d)(8)(a,m)=1aφ(m)1(modm)(9)axaxmodφ(m)(modm)(a,m)=1axax(modm)(a,m)?=1x<φ(m)axaxmodφ(m)+φ(m)(modm)(a,m)?=1xφ(m)
求歐拉函數的值:

//求歐拉函數板子 //根號n求歐拉函數 注意是 i*i<=x //適用于需要求得歐拉函數少的時候 int getphi(int x) {int tmp=x;for(int i=2;i*i<=x;i++){if(x%i==0){while(x%i==0) x/=i; tmp/=i;tmp*=(i-1);}}if(x>1) tmp/=x,tmp*=(x-1);return tmp; } typedef long long ll; bool ok[maxn]; int prime[maxn],phi[maxn],cnt; void sieve() { phi[1]=1;for(ll i=2;i<maxn;++i){if(!ok[i]){prime[cnt++]=i;phi[i]=i-1;}for(int j=0;j<cnt;++j){if(i*prime[j]>=maxn)break;ok[i*prime[j]]=1;if(i%prime[j]==0){phi[i*prime[j]]=phi[i]*prime[j];//prime[j]是i的因子 prime[j]的素因子項包含在i的素因子項里break; }else phi[i*prime[j]]=phi[i]*(prime[j]-1);//prime[j]與i互質 phi[i*prime[j]=phi[i]*phi[prime[j]]}} }

解釋:

總結

以上是生活随笔為你收集整理的数学--数论-数论函数-欧拉函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。