![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
文章平均质量分 59
nw4869
i m just a kid
展开
-
RQNOJ - PID4 数列 (水)
2进制的思想:N=1,2,3……时,对应 1 10 11 100……#include #include #include int main(){ int k, N; __int64 ans = 0; scanf("%d%d", &k, &N); for(int i = 0; (1<<i) <= N; i++) if(1<<i & N) ans += po原创 2014-02-21 21:16:22 · 1022 阅读 · 0 评论 -
AOJ - 0005 GCD and LCM (O(logn)求最大公约数,最小公倍数)
(O(logn)求最大公约数,最小公倍数)#include using namespace std;int num[2];inline int gcd(int a, int b){ return num[0] = b == 0 ? a : gcd(b, a%b);}inline int* lcm(int a, int b){ num[1] = a/gcd(a, b)*b;原创 2014-03-05 19:57:59 · 773 阅读 · 0 评论 -
AOJ - 0009 - Prime Number(素数筛法)
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34870经典的埃氏筛法。先将2~N的数全部假设为素数。循环取出最小的素数i,并将i的倍数设为非素数,知道i等于N为止。#include #include using namespace std;const int MAX_N = 999999+1;int原创 2014-03-07 14:50:45 · 824 阅读 · 0 评论 -
POJ - 3292 Semi-prime H-numbers(素数筛法)
http://poj.org/problem?id=3292先求所有的H-pirme,所有的H-prime两两相乘打表。注:1、H-numbers是所有除以4余1的数,而H-prime则是只能在这些H-numbers中分解因式只得到1*本身的数(1除外)。所以9也是H-prime(原来理解错了)。2、 H-semi-primes可能有两种不同的分解方法,如441=21*21=9*4原创 2014-03-08 15:31:37 · 719 阅读 · 0 评论 -
POJ - 3126 Prime Path(BFS, 素数筛法)
http://poj.org/problem?id=3126直接枚举所有有可能的素数,有点暴力,还没想到更好的方法。#include #include #include #include using namespace std;const int MAX_N = 10000, INF = 0x3f3f3f3f;int T;int prime[MAX_N];bool ispr原创 2014-03-07 21:15:23 · 809 阅读 · 0 评论