SDUT 3002 素数间隙

本文详细介绍了素数间隙的概念及其计算方法,并提供了一段C++代码实现以解决特定问题,适合对数学游戏和算法感兴趣的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

Neko猫是一个很喜欢玩数字游戏的会说话的肥猫,经常会想到很多很好玩的数字游戏,有一天,它想到一个叫做素数间隙的游戏。据Neko猫的定义,素数间隙是两个相邻素数p和q组成的开区间[p, q),所以素数间隙的长度就是q-p。

例如7和11在素数表里是两个相邻的素数,所以7和11的素数间隙的长度为11-7,为4。 

现在Neko猫会给你很多个正整数K(1<K≤1299710),让你能立刻求出包含数字K的素数间隙的长度。为方便起见,如果K是素数,则输出0。

输入

 

输入包含T组数据(1≤T≤1000),每组测试数据占一行,是一个正整数K(1<K≤1299710)。

输出

 

输出T行,每行一个非负数,这个非负数是包含输入数字K的素数间隙的长度,不应有其他字符出现在输出中。

示例输入

10
11
27
2
492170

示例输出

4
0
6
0
114
 
01.#include   
02.#include   
03.#include   
04.#include   
05.using namespace std;  
06.const int maxn=1299720;  
07.int a[maxn];  
08.int main()  
09.{  
10.    int n;  
11.    memset(a,1,sizeof(a));  
12.    a[1]=0;  
13.    int i,j;  
14.    for(i=2;i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值