题目描述:现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。
如果输入的整数本身就是素数,则输出该素数本身,距离输出0

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int isPrime(int a){int i;if(a==1){return 0;}for(i=2;i<a;i++){if(a%i==0){return 0;}}return 1;
}int lastPrime(int a){int i,left,right;if(a==1){return 2;}else{// 寻找a左侧的素数保存再变量left中for(i=a-1;i>=2;i--){if(isPrime(i)){left = i;break;}}// 寻找a右侧的素数并保存到变量right中for(i=a;;i++){if(isPrime(i)){right = i;break;}}// 计算哪个值距离更小if(abs(a-left)<abs(a-right)){return left;}else if(abs(a-left)>abs(a-right)){return right;}else{return left;}}
}
int main()
{// 输入一个测试的整数表示有多少组数int N,M,lastDigit,distance,flag;scanf("%d",&N);// 循环输入这N个数while(N>=1){scanf("%d",&M);// 判断这个数本身是否是一个素数flag = isPrime(M);if(flag){printf("%d %d\n",M,0);}else{// 输入的数字本身不是素数,则找出距离它最小的素数并返回lastDigit = lastPrime(M);distance = abs(M-lastDigit);printf("%d %d\n",lastDigit,distance);}N--;}return 0;
}

运行结果如下:

转载于:https://www.cnblogs.com/ncuhwxiong/p/6705916.html

ACM--素数距离问题相关推荐

  1. c/c++素数距离问题

    素数距离问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度.如果左右有等距离长度素数 ...

  2. NYOJ 24 素数距离问题

    素数距离问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度.如果左右有等距离长度素数 ...

  3. 关于acm素数题解的思考

    本来今天晚上大家带出来是要复习金工实习的,明天上机考试.思来无聊打算做点acm的题.相信每一个学过编程的都会觉得求一个数是否是素数是很简单的,我们当然可以按照定义让机器自己跑来识别,但是有效率更高的算 ...

  4. acm素数判定 c语言,关于判断素数的一些算法

    最近在hdu上A题 碰到些素数问题,记录下看到的算法. 一.筛选法 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2136 import java.io.B ...

  5. python acm 素数个数_湘潭大学OJ-1098求区间内素数个数问题

    求区间内素数个数问题 题目描述 Description 给定两个非负整数a,b,其中0<= a,b<=1,000,000,请计算这两个数之间有多少个素数.限制:Time Limit : 1 ...

  6. ACM素数打表(模版)

    第一次写博客. 今天学了两个很简单的定理,老是忘记细看,今天可算看了下. 其中一个是 素数打表的优化 首先先理解了简单的埃筛法: 埃筛法就是把表中全部数为素数的倍数一个个筛除,最后只有素数留在表中. ...

  7. 南阳理工oj 题目26 孪生素数问题 素数筛选法

    孪生素数问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻 ...

  8. 题目26: 孪生素数问题

    孪生素数问题 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能 ...

  9. 小sugar呀____DAY4:总结

    今天是第一天来工作室学习.比起在宿舍,自己不敢偷懒了呢. 在OJ上做了几道题,有点累. 总结一下. NYOJ5:ACM在线评测系统 http://acm.nyist.net/JudgeOnline/p ...

  10. 牛客题霸 车站建造问题 C++题解/答案

    题目描述 有108个村庄排在一条公路上,依次编号为0~108-1,相邻村庄距离为1,其中有n个村庄居住着牛牛,居住着牛牛的村庄从小到大依次为a0~an-1,其中保证a0=0. 现在需要建设车站,有两个 ...

最新文章

  1. 数据蒋堂 | 莫非我就是被时代呼唤的数学人
  2. android跳转到打电话,Android 应用跳转到拨打电话界面或qq进行聊天(qq咨询)
  3. WinForm 天猫2013双11自动抢红包【源码下载】
  4. vuepress侧边栏配置_VuePress搭建静态博客网站
  5. linux apt qt下载,Linux如何安装 apt-get 软件管理工具
  6. 【小米校招笔试】给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次
  7. wpf 图表控件_LightningChart为外汇衍生品交易商提供数据可视化图表支持
  8. Ubuntu 12.04 图形界面问题解决 开机死机
  9. hdu 5256 序列变换 (LIS变形)
  10. ubuntu下面使用clion
  11. Oracle 用户信息查询,操作语句
  12. 法兰克机械手手动操作_吸盘搬运机械手,一步解决玻璃搬运难题!
  13. Spring中Bean的作用域/状态/生命周期
  14. [ NOI 2005 ] 聪聪与可可
  15. html百度站内搜索代码,网站添加百度站内搜索的教程
  16. 利用宝塔面板部署SSM项目
  17. openrefine的 General Refine Expression Language(GREL)
  18. pyserial串口学习
  19. 3Dlanenet+
  20. Swin Transformer:层次化视觉Transformer

热门文章

  1. C++面试中string类的一种正确简明的写法
  2. 看我如何绕过Cloudflare 的 SQL 注入过滤
  3. 《Servlet和JSP学习指南》一第1章 Servlet 1.1 Servlet API概述
  4. 统计文件中以某个字母开头的单词的数目
  5. 用SHELL脚本自动化安装Nagios服务器端和客户端的
  6. coreseek实时索引更新之增量索引
  7. python gzip模块实现文件压缩的方法
  8. OpenWrt的主Makefile工作过程-转
  9. php mysql pdo出错_PHP / MySQL / PDO – 结果为false但没有DB错误消...
  10. 蓝桥杯 ALGO-55 算法训练 矩阵加法