码迷,mamicode.com
首页 > 其他好文 > 详细

题目22

时间:2015-05-22 23:56:34      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

素数距离问题

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
 
描述
现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。
如果输入的整数本身就是素数,则输出该素数本身,距离输出0
 
输入
第一行给出测试数据组数N(0<N<=10000)
接下来的N行每行有一个整数M(0<M<1000000),
输出
每行输出两个整数 A B.
其中A表示离相应测试数据最近的素数,B表示其间的距离。
样例输入
3
6
8
10
样例输出
5 1
7 1
11 1
 1 #include<stdio.h>
 2 #include<math.h> 
 3 int main()
 4 {
 5     int m;
 6     scanf("%d",&m);
 7     while(m--)
 8     {
 9         int n,i,k,s,b,num,num1,d,d1,j,z,y;
10         scanf("%d",&n);
11         if(n==1) 
12         printf("%d %d\n",2,1);
13         else
14         {
15             for(i=n;i>=0;i--)//寻找左边距离n最近的素数; 
16             {
17                 b=0;
18                 for(z=2;z<=sqrt(i);z++)
19                 {
20                     if(i%z==0)
21                     b++;
22                 }
23                 if(b==0)//找出距离距离n最近素数与n之间距离; 
24                 {
25                     num=i; 
26                     d=n-num; 
27                 }
28                 if(b==0)
29                 break;
30             }
31             
32             for(i=n;i++;)//寻找右边距离n最近的素数; 
33             {
34                 s=0;
35                 for(y=2;y<=sqrt(i);y++)                    
36                 {
37                     if(i%y==0)
38                     {
39                         s++;
40                     }
41                 }                    
42                 if(s==0)//找出距离距离n最近素数与n之间距离;
43                 {
44                     num1=i;
45                     d1=num1-n;
46                 }                    
47                 if(s==0)
48                 break;
49             }
50             if(d==d1)//题目格式;            
51             printf("%d %d\n",num,d);
52             else
53             {
54                 if(d>d1)
55                 printf("%d %d\n",num1,d1);
56                 else
57                 printf("%d %d\n",num,d);
58             }
59         }
60     }
61     return 0;
62 } 

 



题目22

标签:

原文地址:http://www.cnblogs.com/fengshun/p/4523470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!