24.素数距离问题
来源:互联网 发布:mp4播放器软件下载 编辑:程序博客网 时间:2024/06/14 05:02
现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。
如果输入的整数本身就是素数,则输出该素数本身,距离输出0。- 输入
- 第一行给出测试数据组数N(0<N<=10000)
接下来的N行每行有一个整数M(0<M<1000000) - 输出
- 每行输出两个整数 A B.
其中A表示离相应测试数据最近的素数,B表示其间的距离。 - 样例输入
36810
- 样例输出
5 17 111 1
0<M<1000000,因此需要筛法打表。
陷阱:M的界限是(0,1000000)但相邻素数不一定在这个范围内。
经计算得,所需的最后一个素数是1000003。
代码如下。
- #include <stdio.h>
- int notPrime[1000004] = { 1, 1 };
- void init();
- int main() {
- int n, distance;
- init();
- scanf("%d\n", &n);
- while (n--) {
- int now;
- distance = 0;
- scanf("%d\n", &now);
- while (1) {
- if (now - distance > 0 && !notPrime[now - distance])
- break;
- else if (now + distance < 1000004 && !notPrime[now + distance]) {
- distance *= -1;
- break;
- }
- distance++;
- }
- printf("%d %d\n", now - distance, distance > 0 ? distance : -distance);
- }
- return 0;
- }
- void init() {
- int i, j;
- for (i = 2; i < 1001; i++)
- if (notPrime[i])
- continue;
- else
- for (j = i * i; j < 1000004; j += i)
- notPrime[j] = 1;
- }
0 0
- 24.素数距离问题
- 24.素数距离问题
- 素数距离问题
- NYOJ - 素数距离问题
- 素数距离问题
- NYOJ24-素数距离问题
- 素数距离问题
- 素数距离问题
- 素数距离问题
- 【素数距离问题 24】
- 素数距离问题
- 素数距离问题
- 素数距离问题
- 素数距离问题
- nyoj24素数距离问题
- nyoj24 素数距离问题
- NYOJ24 素数距离问题
- 素数距离问题
- Leap Motion 入门二:官方Sample个人解读
- HDU 1176 免费馅饼
- mybatis在xml文件中处理大于号小于号的方法
- 关于百度地图偏移的问题
- ubuntu上跑python连接pg,报错 ImportError: No module named psycopg2
- 24.素数距离问题
- python机器学习之神经网络(一)
- Java线程(八):锁对象Lock-同步问题更完美的处理方式(转)
- C++模板实现的AVL树
- 大钟的ios开发之旅(3)————聊聊Runtime的objc_mesgSend
- 透视迭代开发
- 总线错误和段错误相关概念
- Animate.css
- 2本Hadoop技术内幕电子书百度网盘下载:深入理解MapReduce架构设计与实现原理、深入解析Hadoop Common和HDFS架构设计与实现原理