求尤拉函式

2021-08-21 16:49:07 字數 852 閱讀 3104

/*3.尤拉函式

對正整數n,尤拉函式是少於或等於n的數中與n互質的數的數目

顯然對素數n,phi(n)=n-1

通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn為x的所有質因數,x是不為0的整數。φ(1)=1(唯一和1互質的數就是1本身)

很簡單,就不寫**什麼的了

*/降冪公式

當x≥ϕ(p)時,有ax≡axmodϕ(p)+ϕ(p)(mod p)

這部分可以參考「上帝與集合」

void init()}}

}//直接求解尤拉函式

//根號n求尤拉函式 注意是 i*i<=x

ll euler(ll n)

}if(a > 1) res = res / a * (a - 1);

return res;

}//o(n)求尤拉函式

int prime[n + 5], phi[n + 5]; bool noprime[n + 5];

//1. phi(p)=p-1 因為質數p除了1以外的因數只有p,故1至p的整數只有p與p不互質

//2. 如果i mod p = 0, 那麼phi(i * p)=p * phi(i)

//3.若i mod p ≠0, 那麼phi(i * p)=phi(i) * (p-1)

void euler()

for(int j = 1; j <= size && i * prime[j] <= n - 5; j++)

phi[i * prime[j]] = phi[i] * (prime[j] - 1);}}

}

線性求尤拉函式

尤拉函式 在數論中,對正整數n,尤拉函式是少於或等於n的數中與n互質的數的數目。先給出乙個結論 設p是素數,若p是x的約數,則e x p e x p.若p不是x的約數,則e x p e x e p e x p 1 證明如下 e x 表示比x小的且與x互質的正整數的個數。若p是素數,e p p 1。e...

尤拉公式求函式值

問題描述 利用尤拉公式,求解y 1 1 x2 2y2,當y 0 0,h 0.5時,其在0 x 4時的結點值,精確到小數點後四位。問題分析 尤拉公式推導 當dy dx f x,y 且y x0 y0時,可推導出切線方程的遞推公式,即 yi 1 yi f xi,yi xi 1 xi 和xi x0 ih 且...

篩法求尤拉函式

題目鏈結 題意 給定乙個正整數n,求1 n中每個數的尤拉函式之和。輸入格式 共一行,包含乙個整數n。輸出格式 共一行,包含乙個整數,表示1 n中每個數的尤拉函式之和。資料範圍 1 n 1e6 輸入樣例 6輸出樣例 12思路 如果直接用尤拉函式每次求一遍質因數的話就是o n sqrt n 的時間複雜度...