模板 尤拉函式及其應用

2021-09-30 18:35:56 字數 1424 閱讀 6375

什麼是尤拉函式?

尤拉函式是小於x的整數中與x互質的數的個數,一般用φ(x)表示。特殊的,φ(1)=1。

埃拉託斯特尼篩求尤拉函式

時間o(√n)

空間o(1)

ll getphi(ll x)

if(x > 1) ans -= ans / x;

return ans;

}尤拉篩求尤拉函式

void euler(int n)

for (int j=1;j<=num&&prime[j]*i<=n;j++)//經典的尤拉篩寫法

else phi[i*prime[j]]=phi[i]*phi[prime[j]];//利用了尤拉函式是個積性函式的性質

} }}

尤拉函式降冪

/*

zeolim - an ac a day keeps the bug away

*///#pragma gcc optimize(2)

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef long double ld;

const int inf = 0x3f3f3f3f;

const ld pi = acos(-1.0);

const ld e = exp(1.0);

const ll mod = 1e9 + 7;

const int maxn = 1e6 + 10;

ll qpow(ll a, ll b, ll mod)

return ret % mod;

}ll getphi(ll x)

if(x > 1) ans -= ans / x;

return ans;

}int main()

else

else

--s[x];}}

ll b = 0;

for(int i = 0; i < s.length(); ++i)

b = (b * 10 + s[i] - '0') % phi;

b += phi;

ll ans = 0;

ans = (qpow(2, b, mod) + qpow(4, b, mod)) % mod;

cout << ans << '\n';

}return 0;

}

尤拉定理及其應用

euler定理 對於正整數a,p,若 a,p 1,有a p mod p 1,其中尤拉函式 p p 1 1 p 1 1 1 p 2 1 1 p k p 1,p 2,p k是p的所有的素數因子.當p是乙個素數時,它的特例如下 fermat 小定理 如果p是素數,a,p 1,則a p 1 mod p 1....

尤拉函式及其證明

請思考以下問題 任意給定正整數n,請問在小於等於n的正整數之中,有多少個與n構成互質關係?比如,在1到8之中,有多少個數與8構成互質關係?計算這個值的方法就叫做尤拉函式,以 n 表示。在1到8之中,與8形成互質關係的是1 3 5 7,所以 n 4。n 的計算方法並不複雜,但是為了得到最後那個公式,需...

尤拉函式及其證明

請思考以下問題 任意給定正整數n,請問在小於等於n的正整數之中,有多少個與n構成互質關係?比如,在1到8之中,有多少個數與8構成互質關係?計算這個值的方法就叫做尤拉函式,以 n 表示。在1到8之中,與8形成互質關係的是1 3 5 7,所以 n 4。n 的計算方法並不複雜,但是為了得到最後那個公式,需...