NYOJ24---素数距离问题

网友投稿 619 2022-10-13

NYOJ24---素数距离问题

NYOJ24---素数距离问题

素数距离问题

3000 ms  |  内存限制: 65535

2

现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。

如果输入的整数本身就是素数,则输出该素数本身,距离输出0

第一行给出测试数据组数N(0

接下来的N行每行有一个整数M(0

输出 每行输出两个整数 A B.

其中A表示离相应测试数据最近的素数,B表示其间的距离。

样例输入

3 6 8 10

样例输出

5 1 7 1 11 1

#include #include #include #include #include #include #include #include using namespace std;int prime(int n) //调用函数判断是否为素数{ int i; for(i=2; i*i<=n; i++) if(n%i==0) return 0; return 1;}int main(){ int T,m,i,j; scanf("%d",&T); while(T--) { scanf("%d",&m); if(m==1) printf("2 1\n"); //1的问题单独解决 else { for(i=m; i>=2; i--) if(prime(i)) break; for(j=m; j<=(2*m); j++) if(prime(j)) break; if((m-i)<=(j-m)) printf("%d %d\n",i,m-i); else printf("%d %d\n",j,j-m); } } return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:fw4jREST- MVC 框架
下一篇:快速关联微信小程序二维码实现聚合扫码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~