2012年2月23日

用位来代替bool:减小内存使用,提高运行速度

摘要: 素数槽问题Description 处于相邻的两个素数p和p + n之间的n - 1个连续的合数所组成的序列我们将其称为长度为n的素数槽。例如,‹24, 25, 26, 27, 28›是处于素数23和素数29之间的一个长度为6的素数槽。 你的任务就是写一个程序来计算包含整数k的素数槽的长度。如果k本身就是素数,那么认为包含k的素数槽的长度为0。Input第一行是一个数字n,表示需要测试的数据的个数。后面有n行,每行是一个正整数k, k大于1并且小于或等于的第十万个素数(也就是1299709)。Output对于输入部分输入的每一个k,都对应输出一个非负整数,表示包含k的素数槽的长度,每个非负整数占 阅读全文

posted @ 2012-02-23 20:19 getgoing 阅读(848) 评论(0) 推荐(0) 编辑

csu 1030 素数槽

摘要: 筛法求素数,难点在怎样减少内存,使用C++中的bool却是RE/* 素数槽 C */# include <stdio.h># include <string.h>char a[1299710]; // 有点不伦不类。。。void init(void){ int i, j; memset(a, 0, sizeof(a)); for (i = 2; i < 1299710; ++i) { if (a[i]) continue; j = 2*i; while (j < 1299710) { a... 阅读全文

posted @ 2012-02-23 11:41 getgoing 阅读(373) 评论(0) 推荐(0) 编辑

导航