2013年2月20日

LCM问题(素数,约数处理, UVA 10791)

摘要: 注意:1. 2147483647,也就是(1 << 31) - 1,是素数,所以结果要用long2. 1 要特殊处理一下3. LCM 的一些性质 import java.io.*;import java.util.*;import java.math.*;public classMain { static final int MAXN = 100005; int p[], sup, n; boolean flag[]; void getPrimes() { p = new int[MAXN]; flag = new boolean[MAXN]; for (int i = 2; i 阅读全文

posted @ 2013-02-20 21:59 Sure_Yi 阅读(229) 评论(0) 推荐(0) 编辑

大数模运算(POJ 1845)

摘要: http://blog.sina.com.cn/s/blog_6635898a0100omcn.html直接抄过来了(不好意思)题意:求A^B的所有约数之和 Mod 9901。思路:大数模运算。两个最基本公式:(A*B)%C = ((A%C)*(B%C))%C 和 (A+B)%C = ((A%C)+(B%C))%C 。用__int64的原因为 n = cnt[i] * B (cnt[i]为A第i个素因子的个数)可能会超int。1: 对A进行素因子分解得A = p1^a1 * p2^a2 * p3^a3 *...*pn^an.故A^B = p1^(a1*B) * p2^(a2*B) *...* 阅读全文

posted @ 2013-02-20 20:28 Sure_Yi 阅读(520) 评论(0) 推荐(0) 编辑

-和~混合使用

摘要: ~n == n * (-1) - 1;-~n == n + 1;~-n == n - 1; 阅读全文

posted @ 2013-02-20 18:55 Sure_Yi 阅读(168) 评论(0) 推荐(0) 编辑

2的模幂计算(UVA 11609)

摘要: import java.io.*;import java.util.*;import java.math.*;public classMain { static final int MOD = 1000000007; //n * (C(n - 1, 0) + C(n - 1, 1) + ... + C(n - 1, n - 1)) == n * 2 ^ (n - 1) {模幂} long BigMod(int n) { long res = 1, temp = 2; while (n > 0) { if ((n & 1) != 0) res = (res * temp... 阅读全文

posted @ 2013-02-20 10:15 Sure_Yi 阅读(251) 评论(0) 推荐(0) 编辑

求所有约数,暴力求解(UVA 10892)

摘要: import java.io.*;import java.util.*;import java.math.*;public classMain { int n, len; LinkedList<Integer>list; int GCD(int a, int b) { return b == 0 ? a : GCD(b, a % b); } int LCM(int a, int b) { return a / GCD(a, b) * b; } boolean isEqual() { return Math.sqrt(n) == (int)Math.sqrt(n); } vo... 阅读全文

posted @ 2013-02-20 08:49 Sure_Yi 阅读(223) 评论(0) 推荐(0) 编辑

导航