2012年8月28日

素数筛选法

摘要: //0是素数prime[0] = prime[1] = 1;for (int i = 2; i <= MAX; i++){if (prime[i] == 0){for (int j = i + i; j <= MAX; j += i){prime[j] = 1;}}}下面可以j = i * i开始,但是前提是i从2开始,只有这样才能保证i的k(k < i)倍都标记过,因为当第一层循环的i = k的时候j = k * i的时候标记了 阅读全文

posted @ 2012-08-28 20:35 [S*I]SImMon_WCG______* 阅读(176) 评论(0) 推荐(0) 编辑

%与mod的区别

摘要: %与mod的区别:%出来的数有正有负,符号取决于左操作数。。。而mod只能是正(因为a = b * q + r (q > 0 and 0 <= r < q), then we have amod q = r 中r要大于等于0小于q)。。。。。所以要用%来计算mod的话就要用这样的公式:a mod b = (a % b + b) % b括号里的目的是把左操作数转成正数 阅读全文

posted @ 2012-08-28 16:42 [S*I]SImMon_WCG______* 阅读(3856) 评论(1) 推荐(2) 编辑

HDU 1104 Remainder(BFS打印路径+数论)(%与mod的区别)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1104题意:(注意题目中的%是指mod)开始给了你n, k, m。。。。每次由+m, -m, *m, modm得到新的N,继续对N这样的操作,直到(n+1) mod k== N mod k时结束。。。并且打印路径%与mod的区别:%出来的数有正有负,符号取决于左操作数。。。而mod只能是正(因为a = b * q + r (q > 0 and 0 <= r < q), then we have amod q = r 中r要大于等于0小于q)。。。。。所以要用%来计算mod的话就要用这样 阅读全文

posted @ 2012-08-28 15:16 [S*I]SImMon_WCG______* 阅读(1506) 评论(1) 推荐(0) 编辑

导航