ll eular
(ll n)}if
(n >
1) ans = ans/n*
(n-1);
return ans;
}
尤拉函式的一些性質:
① 當m,n互質時,有phi(m*n)= phi(m)*phi(n);
② 若i%p==0,有phi(i*p) = p * phi(i);
③ 對於互質x與p,有x^phi§≡1(mod p),因此x的逆元為x^(phi§-1),即尤拉定理。
(特別地,當p為質數時,phi(p)=p-1,此時逆元為x^(p-2),即費馬小定理)
④ 當n為奇數時,phi(2n)=phi(n)
⑤ 若x與p互質,則p-x也與p互質,因此小於p且與p互質的數之和為phi(x)*x/2;
⑥n>1,不大於n且和n互素的所有正整數的和是 1/2 *n *eular(n)。
⑦若(n%a == 0 && (n/a)%a==0) 則有:e(n)=e(n/a)*a;
⑧若(n%a==0 && (n/a)%a!=0) 則有:e(n)=e(n/a)*(a-1);
數論 尤拉函式
尤拉函式,用 n 表示 尤拉函式是求小於等於n的數中與n互質的數的數目 求n的尤拉函式時我們可以減去它的所有素數因子以及它的倍數 12 12 2 2 3 素數因子有2 3所以我們減掉2,3的倍數 2的倍數 2,4,6,8,10,12 3的倍數 3,6,9,12 顯然2,3存在重複項6,12 根據容斥...
數論 尤拉函式
大佬已經講的很清楚了,證明非常清晰 互質 兩個數的最大公約數為 1 稱這兩個數互質 求乙個數的尤拉函式 利用公式 int phi int n if a 1 ans ans n n 1 return ans 方法二 利用線性篩求多個數的尤拉函式 const int ma 1e5 5 bool book...
數論 尤拉函式
經過兩天的努力 終於把ac大神的課件都看完了 感動啊啊啊tat 頓時感覺智力上公升了乙個層次 之後看到數論的題目終於可以不用放棄 了 我會說我剛剛用了十分鐘就把尤拉函式看完了嗎 其實之前就會 尤拉函式也就是phi n 表示小於等於n的且與n互質的數的個數 尤拉函式的公式是 phi n n 1 1 p...