CSU 1030 素数槽
2015-08-05 15:35
120 查看
处于相邻的两个素数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
Sample Output
输出素数间的距离
你的任务就是写一个程序来计算包含整数k的素数槽的长度。如果k本身就是素数,那么认为包含k的素数槽的长度为0。
Input
第一行是一个数字n,表示需要测试的数据的个数。后面有n行,每行是一个正整数k,k大于1并且小于或等于的第十万个素数(也就是1299709)。
Output
对于输入部分输入的每一个k,都对应输出一个非负整数,表示包含k的素数槽的长度,每个非负整数占一行。
Sample Input
5
10
11
27
2
492170
Sample Output
4
0
6
0
114
输出素数间的距离
#include <stdio.h> #include <string.h> int s[2000000]; void ss() { memset(s,0,sizeof s); for(int i=2; i<=1300000; i++) { for(int j=2; j*i<=1300000; j++) s[i*j]=1; } int sum,s1,e=2; for(int i=3; i<=1300000; i++) { if(s[i]==0) { s1=e; e=i; sum=i-s1-1; /// printf("%d %d %d\n",i,s1,sum); for(s1++; s1<i; s1++) s[s1]=sum+1; } } ///for(int i=2; i<=130; i++) /// printf("%d ",s[i]); } int main() { ss(); int cas,n; scanf("%d",&cas); while(cas--) { scanf("%d",&n); printf("%d\n",s ); } return 0; }
相关文章推荐
- hdu 1181 变形记
- [leetcode 213]House Robber II
- quick3.3与quick2.2的区别(3)
- hadoop2升级的那点事情(详解)
- centos7 如果想让IP配置永久生效,需要修改配置文件
- 判断某特定值是否存在于vector中
- php 实例说明 socket通信机制
- 南邮 OJ 1414 家庭问题
- C#模拟http 发送post或get请求
- 使用maven编译dubbo,导入eclipse(其他maven开源项目编译类似)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- myeclipse python下配置文档说明_转载
- map
- xStream完美转换XML、JSON
- swift基础
- ubuntu安装ftp服务器(一般配置)
- Java中抽象类和接口的区别
- Spring定时任务的几种实现
- Android 命名规范 (提高代码可以读性)
- CSU 1029 Palindrome