08 2016 档案

摘要://计算欧拉phi函数,phi(n)为不超过n且与n互素的整数个数 int euler_phi(int n) { int m = (int)sqrt(n+0.5); int ans = n; for(int i = 2; i 1) ans = ans / n * (n-1); return ans; } //用类似筛法计算phi_table int... 阅读全文
posted @ 2016-08-21 09:34 kiraa 阅读(167) 评论(0) 推荐(0)
摘要:LL pow_mod(LL a, LL p, LL m) { if(p == 0) return 1; LL ans = pow_mod(a, p/2, m); ans = ans * ans % m; if(p % 2) ans = ans * a % m; return ans; } 阅读全文
posted @ 2016-08-13 09:05 kiraa 阅读(124) 评论(0) 推荐(0)
摘要://gcd LL gcd(LL a, LL b) { return b == 0 ? a : gcd(b, a%b); } //exgcd void exgcd(LL a, LL b, LL &d, LL &x, LL &y) { if(!b) {d = a; x = 1; y = 0;} else {gcd(b, a%b, d, y, x); y -= x*(a... 阅读全文
posted @ 2016-08-13 09:00 kiraa 阅读(126) 评论(0) 推荐(0)
摘要:1 int vis[maxn]; 2 int prime[maxn]; 3 4 void sieve(int n) { 5 int m = sqrt(n + 0.5); 6 memset(m, 0, sizeof m); 7 for(int i = 2; i <= m; i++) if(!vis[i]) 8 for(int j = i*i... 阅读全文
posted @ 2016-08-13 08:54 kiraa 阅读(97) 评论(0) 推荐(0)