csu1030: 素数槽
来源:互联网 发布:unity3d 海底光影 编辑:程序博客网 时间:2024/05/29 08:45
1030: 素数槽
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 463 Solved: 154
[Submit][Status][Web Board]
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的素数槽的长度,每个非负整数占一行。
Sample Input
51011272492170
Sample Output
4060114
HINT
Source
中南大学第三届大学生程序设计竞赛
分析:
水题。刚好被问到这个题就写一下了。打表+线性筛选。
ac代码:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#define MAXN 1300000
bool is_p[MAXN];
void calc()
{
for( int i = 1; i < MAXN; i ++)
is_p[i] = true;
is_p[1] = false;
for( int i = 2; i < MAXN; i ++)
{
if( !is_p[i]) continue;
for( int j = 2; i * j < MAXN; j ++)
is_p[i * j] = false;
}
}
int main()
{
int n, k, cnt;
calc();
scanf( "%d", &n);
while( n --)
{
scanf( "%d", &k);
cnt = 0;
for( int i = k; !is_p[i]; i ++)
cnt ++;
for( int i = k; !is_p[i]; i --)
cnt ++;
printf( "%d\n", cnt);
}
return 0;
}
- csu1030: 素数槽
- 素数槽
- 素数槽
- csu 1030: 素数槽
- CSU 1030 素数槽
- coj 1030:素数槽
- CSU 1030 素数槽
- CSU 1030: 素数槽
- CSU 1030 素数槽
- ACM:L: 素数槽
- 素数
- 素数
- 素数
- 素数
- 素数
- 素数
- 素数
- 素数
- Oracle数据库mybatis 插入空值时报错(with JdbcType OTHER)
- tomcat配置HTTPS
- php用户登录以及后台处理
- HTML 入门,30分钟入门教程.
- 数据库集群实施
- csu1030: 素数槽
- iOS Developer:真机测试
- 第三章 资源管理
- 快学Scala习题解答—第三章 数组相关操作
- my blog my life
- 关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决
- iOS 发布应用程序到App Store
- Codeforces Round #276(Div. 2)
- 快速切换jdk1.6与1.7的bat