【题意简述】:输入一个数,如果这个数是素数就输出0,如果不是素数就输出离它最近的两个素数的差值,叫做Prime Gap。
【分析】:这题过得很险,因为我是打的素数表。由于最大的素数是1299709,所以注意在打表时要使用long long,否则程序应该不能运行。注意这一点应该就可以了。
// 2984K 235Ms
#include
using namespace std;
#define...
分类:
其他好文 时间:
2014-09-28 12:51:28
阅读次数:
137
package com.hpu.bai;/** * 此程序用来把一个正整数分解成质因数相乘 如 20 = 2*2*5; * @author bai * */public class Byprime { public static int prime(int m){ ...
分类:
编程语言 时间:
2014-09-27 19:32:10
阅读次数:
324
题目:判断一个数能不能写成素数的和的形式,输出对应的素数大小最小组合。
分析:dp,多重背包。看到整数拆分就是背包了。
由于时间和数据的限制,所以采用打表计算;
每次记录上次使用的 prime然后逆向求解即可。
说明:注意,没有时输出 0,由于没写 WA了好几次。。。(2011-10-03 18:37)
#include
#include...
分类:
其他好文 时间:
2014-09-26 01:13:51
阅读次数:
260
题目信息:
1015. Reversible Primes (20)
时间限制
400 ms
内存限制
32000 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue
A reversible prime in any num...
分类:
其他好文 时间:
2014-09-25 23:31:28
阅读次数:
286
题目大意:给你一个区间【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
【题意简述】:输入一个数,输出有几对素数对可以使他们的和正好等于这个数
【分析】:暴力打表,再暴力循环求解
//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
1007. 素数对猜想 (20) (ZJUPAT 数学)...
分类:
其他好文 时间:
2014-09-24 00:38:35
阅读次数:
403
POJ3518_Prime Gap【素数】【水题】...
分类:
其他好文 时间:
2014-09-19 06:39:35
阅读次数:
214
题目大意:给你两个数N和C,算出1~N(包括N)之间的素数序列,
若素数个数为奇数,则输出素数序列中心的2*C-1个素数。
若素数个数为偶数,则输出素数序列中心的2*C个素数。
输出个数中说若C>素数个数,则输出整个素数序列。
思路:筛法求素数打表,之后求出素数序列的中心位置,判断奇偶并输出
注意:此题中,1被当做了质数(只限本题),数据规模开成1000是不够
的,需要开成1100,应该是测试数据超范围了。...
分类:
其他好文 时间:
2014-09-19 06:39:25
阅读次数:
205