素数距离问题
来源:互联网 发布:软件风格 编辑:程序博客网 时间:2024/06/05 09:05
素数距离问题
时间限制:3000 ms | 内存限制:65535 KB
难度:2
- 描述
- 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。
如果输入的整数本身就是素数,则输出该素数本身,距离输出0- 输入
- 第一行给出测试数据组数N(0<N<=10000)
接下来的N行每行有一个整数M(0<M<1000000), - 输出
- 每行输出两个整数 A B.
其中A表示离相应测试数据最近的素数,B表示其间的距离。 - 样例输入
36810
- 样例输出
5 17 111 1
来源
方法1:
01.
#include<stdio.h>
02.
#include<math.h>
03.
04.
bool
prime(
int
n)
05.
{
06.
int
k;
07.
if
(n<2)
08.
return
false
;
09.
for
(k=2;k<=
sqrt
(n);k++)
10.
{
if
(n%k==0)
break
;}
11.
if
(k>
sqrt
(n))
12.
return
true
;
13.
return
false
;
14.
}
15.
16.
int
main()
17.
{
18.
int
m,n,i,j,mup,mdown,dup,ddown;
19.
scanf
(
"%d"
,&n);
20.
while
(n--)
21.
{
22.
scanf
(
"%d"
,&m);
23.
if
(m==1)
24.
printf
(
"2 1\n"
);
25.
else
26.
{
27.
if
(prime(m))
28.
printf
(
"%d 0\n"
,m);
29.
else
30.
{
31.
mup=mdown=m;
32.
while
(!prime(mup))
33.
{
34.
mup+=1;
35.
}
36.
while
(!prime(mdown)&&mdown>0)
37.
{
38.
mdown-=1;
39.
}
40.
dup=mup-m;
41.
ddown=m-mdown;
42.
if
(mdown==0)
43.
printf
(
"%d %d\n"
,mup,dup);
44.
else
if
(dup>=ddown)
45.
printf
(
"%d %d\n"
,mdown,ddown);
46.
else
47.
printf
(
"%d %d\n"
,mup,dup);
48.
}
49.
}
50.
}
51.
return
0;
52.
}
方法2:
01.
#include<stdio.h>
02.
#include<math.h>
03.
04.
bool
prime(
int
n)
05.
{
06.
int
k;
07.
if
(n<2)
08.
return
false
;
09.
for
(k=2;k<=
sqrt
(n);k++)
10.
{
if
(n%k==0)
break
;}
11.
if
(k>
sqrt
(n))
12.
return
true
;
13.
return
false
;
14.
}
15.
16.
int
main()
17.
{
18.
int
m,n,i,j;
19.
scanf
(
"%d"
,&n);
20.
while
(n--)
21.
{
22.
scanf
(
"%d"
,&m);
23.
if
(m==1)
24.
printf
(
"2 1\n"
);
25.
else
26.
{
27.
if
(prime(m))
28.
printf
(
"%d 0\n"
,m);
29.
else
30.
{
31.
for
(i=m-1;i>0;i--)
32.
if
(prime(i))
break
;
33.
for
(j=m+1;j<1000000;j++)
34.
if
(prime(j))
break
;
35.
if
(i==0)
36.
printf
(
"%d %d\n"
,j,j-m);
37.
else
if
(m-i<=j-m)
38.
printf
(
"%d %d\n"
,i,m-i);
39.
else
40.
printf
(
"%d %d\n"
,j,j-m);
41.
42.
}
43.
}
44.
}
45.
return
0;
46.
}
0 0
- 素数距离问题
- NYOJ - 素数距离问题
- 素数距离问题
- NYOJ24-素数距离问题
- 素数距离问题
- 素数距离问题
- 素数距离问题
- 【素数距离问题 24】
- 素数距离问题
- 素数距离问题
- 素数距离问题
- 素数距离问题
- nyoj24素数距离问题
- nyoj24 素数距离问题
- NYOJ24 素数距离问题
- 素数距离问题
- 素数距离问题
- 素数距离问题
- Linux sqlite3基本命令
- 32位16位8位寄存器及编号
- 在EditPlus中配置PHP调试
- Codeforces 475B Strongly Connected City 强连通裸题
- UI 常用方法总结之--- UIWindow UIView (不断更新中)
- 素数距离问题
- 一个帖子学会Android四大组件
- cocos2dx面试题-第二波
- 共轭梯度法(Conjugate Gradient Methods-CG)在回归分析的应用和比较
- [Leetcode] Permutations
- Struts是怎么运行的?
- “短线神刀”李旭东投资简历
- ACM-贪心策略
- cocoapods的安装与使用