码迷,mamicode.com
首页 > 其他好文 > 详细

1500. Prime Gap 11 月 11日

时间:2016-11-14 00:53:22      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:输入   cstring   main   ace   cst   string   ons   str   test   

/*本篇为转载,在此申明,具体就是先设定从2以后所有的数都为质数,定为质数的数的倍数则不是质数,慢慢排除后面的数*/

 

 

 

#include<iostream>
#include<cstring>
using namespace std;
const int N = 1300000;//第10万个数为1299709
int prime[N];
bool notPrime[N];

int main()
{
 
 memset(prime,0,sizeof(prime));
 memset(notPrime,0,sizeof(notPrime));
 int count = 0;
 for(int i = 2; i < N;i++)//求素数表
 {
  if(!notPrime[i]) ; prime[count++] = i;
  
  for(int j = 0; j < count && (i * prime[j] < N);j++)
  {
   notPrime[i * prime[j]] = true;
   if(!(i % prime[j]))
    break;
  }
 }

 int test;
 while(cin >> test && test != 0)
 {
  for(int i = 0; i < 100000; i++)
  {
   if(prime[i] == test)//输入的是素数
   {
    cout << "0" << endl;
    break;
   }
   else
   {
    if(test < prime[i] && i != 0)
    {
     cout << prime[i] - prime[i - 1] << endl;
     break;
    }
   }
  }
 }
 return 0;
}

1500. Prime Gap 11 月 11日

标签:输入   cstring   main   ace   cst   string   ons   str   test   

原文地址:http://www.cnblogs.com/sysu-eeman-yang/p/6060144.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!