題意很明確,比n小且與n互質的數的個數
尤拉函式就是用來解決這個的
首先要知道 【定理】正整數n(n≥2)可以唯一分解成素數乘積,即:n =p[1]^r1 * p[2] ^r2 * p[3]^r3. *...* p[s]^rs
其次尤拉函式有兩個性質,可以用來程式設計,單獨求phi函式:
① ø(m) = m ( 1- 1/p[1]) ( 1- 1/p[2])…( 1- 1/p[s])
② ø(p^k) = p^k – p^(k-1) = (p-1)p^(k-1)
/*
id: sdj22251
prog: subset
lang: c++
*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define maxn 305
#define inf 100000000
#define eps 1e-7
#define pi 3.1415926535898
using namespace std;
int euler(int n)
} if (x != 1) phi = phi / x * (x - 1);
return phi;
}int main()
return 0;
}
下面是預處理打表的
/*
id: sdj22251
prog: subset
lang: c++
*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define maxn 305
#define inf 100000000
#define mod 1000000007
#define eps 1e-7
#define pi 3.1415926535898
using namespace std;
int phi[100001];
void euler()
}}int main()
return 0;
}
POJ 2407 Relatives 尤拉函式
題意很明確,比n小且與n互質的數的個數 尤拉函式就是用來解決這個的 首先要知道 定理 正整數n n 2 可以唯一分解成素數乘積,即 n p 1 r1 p 2 r2 p 3 r3.p s rs 其次尤拉函式有兩個性質,可以用來程式設計,單獨求phi函式 m m 1 1 p 1 1 1 p 2 1 1 ...
poj2407尤拉函式模板
第一次接觸尤拉函式,phi x 為小於等於x且與x互質的數的個數 先介紹一些基本定理 1.定義在所有正整數上的函式成為算數函式。2.乙個算術函式f,如果對於兩個互素整數m,n有f nm f n f m 則稱f為積性函式。如果對於任意兩個正整數mn有f nm f n f m 則稱f為完全積性函式。3....
尤拉函式 POJ 2478 尤拉篩法
通式 phi x x 1 frac 1 frac 1 frac cdots 1 frac 若n是質數p的k次冪 phi n p k p p 1 p 因為除了p的倍數外,其他數都跟n互質。設n為正整數,以 phi n 表示不超過n且與n互素的正整數的個數,稱為n的尤拉函式值,這裡函式 n n,n n ...