素数距离OJ
来源:互联网 发布:sdr软件无线电 飞行 编辑:程序博客网 时间:2024/06/07 10:26
问题:
描述
如果输入的整数本身就是素数,则输出该素数本身,距离输出0
- 输入
- 第一行给出测试数据组数N(0<N<=10000)
接下来的N行每行有一个整数M(0<M<1000000), - 输出
- 每行输出两个整数 A B.
其中A表示离相应测试数据最近的素数,B表示其间的距离。 - 样例输入
36810
- 样例输出
5 17 111 1
个人理解:
1:首先需要写一个函数用于判断输入的数是否为素数;
2:判断与所输入的数离得最近的素数,可以通过在输入数据的两边累次加一,再将加一后的数字与判断是否为素数,直到遇到素数为止,以此方法得到所求结果;
3:判断素谁的函数最好能写在main()函数的上方,防止ACM不让通过。
结果时间内存语言Accepted204240C代码:
#include <stdio.h>#include <math.h>int x(int m){ int i; if (m==1) return 0; for (i=2;i<=sqrt(m);i++) if (m%i==0) return 0; return 1;}int main(){ int n,m,m1,m2,t1,t2,i,j; scanf ("%d",&n); for (j=1;j<=n;j++) { scanf ("%d",&m); if (x(m)) printf("%d0\n",m); else { m1=m2=m; while (!x(m)) { m1+=1; } while (!x(m)&&m2>0) { m2-=1; } t1=m1-m; t2=m-m2; if (m2==0) printf ("%d%d\n",m1,t1); else if (t1>=t2) printf ("%d%d\n",m2,t2); else printf ("%d%d\n",m1,t1); }}return 0;}
阅读全文
0 0
- 素数距离OJ
- 南阳OJ~~素数距离问题
- 南阳oj--素数距离问题
- 南阳oj 题目24 素数距离问题
- 南阳OJ 题目24:素数距离问题
- 南洋理工OJ——24 素数距离问题
- 素数距离
- 素数距离
- 素数距离
- 素数距离
- 素数距离
- 【南理oj】24 - 素数距离问题(打表,多次出错)
- 素数nyoj--(素数距离)
- 素数nyoj--(素数距离)
- 素数距离问题
- NYOJ - 素数距离问题
- 素数距离问题
- NYOJ24-素数距离问题
- 52 WebGL不使用任何方法绘制矩形
- IntelliJ中的main函数和System.out.println()快捷输入方式
- leetcode 515. Find Largest Value in Each Tree Row
- [Algorithm]Quick Select问题
- node 任务热加载
- 素数距离OJ
- 表达式树的创建与输出
- 后缀表达式求值
- Oracle第四章单行函数习题答案
- 使用okhttp下载一个apk并安装
- Java 垂直等腰直角三角形
- STM8L15X液晶初始化程序
- 交集
- 【JavaScript避免重命名的方法】