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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Eular 函数模板

發(fā)布時間:2025/4/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Eular 函数模板 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  歐拉函數(shù):用來求1...n-1范圍內(nèi)與n互質(zhì)的數(shù)的個數(shù)

  phi(n) = n*(1 - 1/p1)*(1 - 1/p2)*...*(1 - 1/pk) (p1, p2, ... pk為n的質(zhì)因子)

  因為 n = p1q1 * p2q2 * ... * pkqk

  帶入得:phi(n) = (p1 - 1)*p1q1-1 * (p2 - 1)*p2q2-1 * ... * (pk - 1)*pkqk-1;

? ? ? ?代碼: 

int eular(int n) {int i, res = 1;for(i = 2; i*i <= n; ++i) {if(n%i == 0) {n /= i; res *= i - 1;while(n%i == 0) {n /= i; res *= i;}}}if(n > 1) res *= n - 1;return res; }

??   

  歐拉函數(shù)打表: 

int Eu[N];void init() {int i, j;for(i = 1; i < N; ++i) Eu[i] = i;for(i = 2; i < N; ++i) {if(Eu[i] == i) {for(j = i; j < N; j += i) {Eu[j] = Eu[j]/i*(i - 1);}}} }

?

?

  ?

  ?

轉(zhuǎn)載于:https://www.cnblogs.com/vongang/archive/2013/01/23/2873788.html

總結(jié)

以上是生活随笔為你收集整理的Eular 函数模板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。