什麼是尤拉函式?
尤拉函式是小於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 的計算方法並不複雜,但是為了得到最後那個公式,需...