![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
Cifer
这个作者很懒,什么都没留下…
展开
-
HDOJ 4228 Flooring Tiles (反素数)
~~~题目链接~~~题目大意:现有若干面积相同的小正方行, 给出n种面积相同的长方行, 问用最少用多少个正方行能恰好拼出n种长方行, 如n = 2, 这时最少用4个正方行可拼出2中长方形, 分别是1*4, 和2*2面积相同的长方形。定义 对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0原创 2012-11-17 19:25:49 · 658 阅读 · 0 评论 -
vijos P1033 整数分解(版本2)
~~~题目链接~~~思路:3 = 1+24 = 2+25 = 2+36 = 3+37 = 2+2+38 = 2+3+39 = 3+3+310 = 2+2+3+3..........通过分解发现把一个数分解成尽可能多的2与3就为最大值。code:#include #include #include using namespace std;原创 2012-11-08 20:15:06 · 716 阅读 · 0 评论 -
POJ 1061 青蛙的约会
~~~题目链接~~~思路:设青蛙要跳x次才相遇, 可得方程 (a+xm)%L = (b+xn)%L 推出 x(m-n) + yL = b-a. 根据扩展欧几里德算法可求出一组x(m-n) + yL = gcd(m-n, L)的一组解, 当(b-a)为gcd(m-n, L)的倍数时原方程才有整数解, 现在要求求最小的跳动次数x, 思想参考了ComeOn4MyDream的~~资料~~原创 2012-08-05 16:34:32 · 1318 阅读 · 3 评论 -
vijos p1042 捕风捉影
~~~题目链接~~~思路:这的上限为100000000, 直接对每个数判断要超时, 后来打表发现了最多到10000000有数, 这之后的数都不符合要求。所以上限调整为10000000code:#include #include #define N 10000002using namespace std;int is_prime(int x){ int原创 2012-11-07 23:17:51 · 700 阅读 · 0 评论 -
HDOJ 1262 寻找素数对
~~~题目链接~~~水过#include #include int main(){ int i = 0, j = 0, sum = 0, p[10002] = {0}; p[0] = p[1] = 0; for(i = 2; i<10002; i++) if(i%2) p[i] = 1; else p[i] =原创 2012-09-13 18:54:41 · 392 阅读 · 0 评论 -
POJ 2115 C Looooops
~~~题目链接~~~题目大意:根据题中的c语言for循环表达式, 判断这个循环要几次结束, 或永远不结束, 当内存达到上限时又从0开始。思路: 与POJ 1061一样, 根据表达式(a+c*x)%1Ps:要用(__int64)1code:#include #include void gcd(__int64 s1, __int64 s2, __int64原创 2012-08-05 18:55:35 · 564 阅读 · 0 评论 -
HDOJ 2669 Romantic (扩展欧几里德)
~~~题目链接~~~思路:扩展欧几里德,通过扩展欧几里德算法求出X与Y, 它的任意解为(X+K*B', Y-KA') A' = A/gcd(a,b) B' = B/gcd(a,b)code:#include void gcd(long a, long b, long &d, long &x, long &y){ if(!b) {d = a; x = 1;原创 2012-08-03 17:28:22 · 583 阅读 · 0 评论 -
HDOJ 2136 Largest prime factor
~~~题目链接~~~题目大意:先给出一个数, 要求求它的最大素数因子思路:找出所有的素数因子,选最大的Ps:太容易超时了,wa了半天code:#include #include #define max 1000010/2int ans = 0, num[2*max], isprime[2*max];void prime_factor(int x){原创 2012-08-04 19:59:35 · 638 阅读 · 0 评论 -
HDOJ 2161 Primes (判断素数)
~~~题目链接~~~题目大意:给出一个数判断它是不是素数, 本题中1和2不是素数简单题code:#include #include int is[16002];int is_prime(int x){ int i = 0, j =(int)sqrt(x); for(i = 2; i<=j; i++) if(x%i == 0原创 2012-08-04 13:11:19 · 512 阅读 · 0 评论 -
POJ 2305 Basic remains (大数余)
~~~题目链接~~~code:#include #include #include #include using namespace std;int a = 0, b = 0, k = 0, x = 0, y = 0;void translate1()//把k进制的数转化为10进制{ int cnt = 0; x = y = 0; whil原创 2012-11-19 22:47:54 · 849 阅读 · 1 评论