Prime Generator

Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate all prime numbers between two given numbers!

Input

The input begins with the number t of test cases in a single line (t<=10). In each of the next t lines there are two numbers m and n (1 <= m <= n <= 1000000000, n-m<=100000) separated by a space.

Output

For every test case print all prime numbers p such that m <= p <= n, one number per line, test cases separated by an empty line.

Example

CODE:

 1 #include<iostream>
 2 #include<math.h>
 3 #include<string>
 4
 5
 6 using namespace std;
 7
 8 string s;
 9 bool Isprime(int m)//is prime
10 {
11     if(m==1)
12         return false;
13     int i=(int)sqrt(m);
14     for(int j=2;j<=i;j++)
15     {
16         if(m%j==0)
17             return false;
18     }
19     return true;
20 }
21
22 void primegen(int i,int j)//prime genaerator
23 {
24
25     while(i<=j)
26     {
27         if(Isprime(i))
28         {
29             char t[10];
30             sprintf(t,"%d\n",i);
31
32             s=s+t;
33         }
34         i++;
35     }
36     s=s+"\n";
37 }
38 int main()
39 {
40     s="";
41     int k;
42     cin>>k;
43     int i1,i2;
44     while(k>0)
45     {
46         cin>>i1;
47         cin>>i2;
48         k--;
49         primegen(i1,i2);
50     }
51     cout<<s<<endl;
52     return 0;
53 }

2016-12-31 13:15:16

时间: 2024-10-10 17:51:18

Prime Generator的相关文章

素数筛法--SPOJ Problem 2 Prime Generator

质数(prime number)又称素数,除了1和它本身外,不能整除以其他自然数,换句话说就是该数除了1和它本身以外不再有其他的因数:否则称为合数.最小的质数是2. 要判断一个整数N是不是质数很简单,看它是否能被2到sqrt(N)之间的整数整除即可. def isPrime(n): if n%2==0: return False for i in xrange(3,int(math.sqrt(n)+1),2): if n%i==0: return False return True 不过要找出1

Prime Generator(spoj)

原题: Prime Generator Problem code: PRIME1 Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate all prime numbers between two given numbers! Input The input begins with the number t of test cases in a sing

SPOJ Python Day2: Prime Generator

2. Prime Generator 任务很简单,生成m到n之间的所有质数.一个比较常见的思路是: 自然数$1, 2, -, N$中的最大的质因子要小于$\sqrt{N}$.所以用m到n中的每一个数去试除1到$\sqrt{n}$中的所有数.能整除就是合数,全不能整除就是质数. 但是这么做会超时.. 一般生成质数有一个常用的算法:筛法 http://zh.wikipedia.org/wiki/%E5%9F%83%E6%8B%89%E6%89%98%E6%96%AF%E7%89%B9%E5%B0%B

Spoj PRIME1 - Prime Generator

题意翻译 求给定的两个数之间的素数 Translated by @kaiming 题目描述 Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate all prime numbers between two given numbers! 输入输出格式 输入格式: The input begins with the number t of test cas

SPOJ Problem 2: Prime Generator

嗯..在SPOJ上刷的第二题. 一开始不知道哪错了,后来发现i出现了两遍.. 因为m<10^9,所以用素数筛筛32000以内的数,开一个4000的数组存储就行.然后再从n开始用素数筛,总之效率还行. 代码如下: //0.01s 3.2M #include<cstdio> #include<cstring> #include<cmath> int n,i,j,t,m,k,tot; int a[100005],b[4000]; int prime[40000]; in

OpenVPN安装配置

2. 安装 2.1安装前准备 系统:centos5.4i686 i686 i386 GNU/Linux 把系统的Forward打开,可以通过如下命令实现echo 1 > /proc/sys/net/ipv4/ip_forward或者使用sysctl -w net.ipv4.ip_forward=1或者修改/etc/sysctl.conf文件,增加net.ipv4.ip_forward = 1 首先检查系统是否安装lzo实时压缩工具$rpm -qa | grep lzo如果没有安装可以在http:

搭建openVPN服务器

搭建openVPN服务器 概述: OpenVPN允许参与建立VPN的单点使用共享密钥,电子证书,用户名/密码来进行身份验证,它大量使用了OpenSSL加密码库中的SSLv3/TLSv1协议函式库. 目前OpenVPN能在Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X与Windows 2000/XP/Vista上运行,并包含了许多安全性的功能, 它并不是一个基于Web的VPN软件, 也不与IPsec及其它VPN软件包兼容.OpenVPN所有的通

OpenVPN学习笔记——部署安装

上一篇介绍了OpenVPN部署前的环境准备,下面开始具体的部署安装. mkdir -p /opt/tools cd /opt/tools/ wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz yum install openssl openssl-devel gcc -y # 因为openvpn依赖于openssl,所以这里需要安装openssl和openssl-devel [[email protected

OpenVPN搭建教程

系统环境: CentOS  6.75 OpenVPN 2.3.11 安装过程 1.安装EPEL6的yum源并更新本地缓存 #rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm #yum makecache 2.关闭SElinux和防火墙 [[email protected] ~]# service iptables stop [[email protected] ~]# chkconf