书中的题目是求两个数的最大公约数,其实这个问题时当我们学习C语言的时候老师就讲过的算法,和教学中的求素数是一个类型的问题。 我们当时学的方法是 “辗转相除法”,即利用公式: f(x, y) = f(y, x % y),直到 x % y == 0,取x就是两个数的最大公约数。 但是书中说道,乘除运算太浪费时间了,所以,我们可以换一种方法去思考这个问题,乘除不能用,就只能是加减了,...
分类:
其他好文 时间:
2014-09-27 16:38:40
阅读次数:
190
最近用到了,所以依然是转载ArrayList和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比...
分类:
其他好文 时间:
2014-09-26 12:58:58
阅读次数:
211
题目:判断一个数能不能写成素数的和的形式,输出对应的素数大小最小组合。
分析:dp,多重背包。看到整数拆分就是背包了。
由于时间和数据的限制,所以采用打表计算;
每次记录上次使用的 prime然后逆向求解即可。
说明:注意,没有时输出 0,由于没写 WA了好几次。。。(2011-10-03 18:37)
#include
#include...
分类:
其他好文 时间:
2014-09-26 01:13:51
阅读次数:
260
题目大意:给定1-n这n个数,组成以1开头的素数环,保证相邻两个数相加均为素数题目用dfs搜索再回溯,这样碰到不成立的立刻退出递归,就减少了很多步骤,不然暴力来就是n!次复杂度,肯定是超时的每次添入数据都要判断是否相邻数相加为素数,所以我们可以提前打个素数表,这样使自己判断素数更加方便 1 #inc...
分类:
其他好文 时间:
2014-09-25 20:18:47
阅读次数:
218
素数判定Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 74351Accepted Submission(s): 25941Problem Desc...
分类:
其他好文 时间:
2014-09-25 14:39:30
阅读次数:
153
1、数组的键、值操作函数2、统计数组元素的个数与唯一性3、使用回调函数处理数组的函数4、数组的排序函数5、拆分、合并、分解与结合数组6、数组与数据结构7、其他有用的数组处理函数1、数组的键、值操作函数array_values();用途:返回数组中所有的值格式:arrayarray_values(ar..
分类:
其他好文 时间:
2014-09-25 12:18:09
阅读次数:
264
题目大意:给你一个区间【L,U】,求出从L到U之间素数序列中,连续两个素数差值最大
的最小的两对素数对,但其中(1<=L< U<=2,147,483,647),但区间【L,U】距离不超
过1000000
思路:因为L,U的值太大了,普通素性判断和素数筛法都不可行,所以可以考虑先筛选
一次,筛出50000以内的素数,然后用50000以内的素数再次筛选出区间【L,U】的素
数。第一次素数筛法比较简单,主要是第二次筛法,分别判断【L,U】中每个数是50000
以内的素数的多少倍,若为1倍,则从2倍开始筛选。若不为...
分类:
其他好文 时间:
2014-09-25 01:17:57
阅读次数:
394
这个题基本上就两个知识点, 一个素数筛选法求素数,另一个是求最大公因子, 不过确定最大素数在素数表中的位置时,要用到二分的思想,不然会超时,下面是具体代码的实现; 1 #include 2 #include 3 #define SIZE 1000020 4 int prime[SIZE];//来.....
分类:
其他好文 时间:
2014-09-24 21:36:57
阅读次数:
192
113 C. Double Happiness
先介绍bitset
#include
using std::bitset;
一句话定义:可自定义位数,用作记录二进制的数据类型.
一,定义和初始化
bitset b; //b有n位,每位都为0;
bitset b(u);...
分类:
移动开发 时间:
2014-09-24 19:09:17
阅读次数:
201
【题意简述】:输入一个数,输出有几对素数对可以使他们的和正好等于这个数
【分析】:暴力打表,再暴力循环求解
//268K 125Ms
#include
using namespace std;
#define N 35000 // 2^15
bool isprime[N];
int prime[N],nprime;//prime[N]用来存储素数,nprime是此时一共有多少素数
...
分类:
数据库 时间:
2014-09-24 18:38:37
阅读次数:
214