找出n * n的方格中有多少不同的直線斜率;
分成三個部分,首先是斜率為1和兩個座標軸,然後是被三條直線切成的兩個部分,這個的話求出一部分*2,一部分假設斜率為x/y(x < y),那麼肯定是最簡式,即x 和 y互質,就是尤拉函式的應用了;
#include#include#include#include#include#include#includeusing namespace std;
const int maxn = 1000 + 10;
#define inf 0x3f3f3f3f
#define clr(x,y) memset(x,y,sizeof x )
typedef long long ll;
#define eps 10e-10
const ll mod = 1000000007;
typedef pairp;
int euler[maxn];
ll a[maxn];
void init()
int main()
return 0;
}
尤拉函式 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 ...
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 ...
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 ...