qq_38574956 2017-06-26 03:38
浏览 1793

ACM题runtime error怎么解决

素数距离问题

时间限制: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

#include "stdio.h"
int sushu(int x)
{
int i;
for(i=x-1; ;i--)
{
if(x%i==0)
{
return 0;
break;
}
if(i==2)
{
return 1;
break;
}
}
}
int main()
{
int a[10000];
int i,n,min,max,k;
scanf("%d",&n);
for(k=0;k {
scanf("%d",&a[k]);
}
for(k=0;k {
for(i=a[k]-1; ;i--)
{
if(sushu(i)==1)
{
min=i;
break;
}
if(sushu(i)==0)
continue;
}
for(i=a[k]+1; ;i++)
{
if(sushu(i)==1)
{
max=i;
break;
}
if(sushu(i)==0)
continue;
}
if(sushu(a[k])==1)
printf("%d %d\n",a[k],0);
else if(a[k]>(max+min)/2)
printf("%d %d\n",max,max-a[k]);
else
printf("%d %d\n",min,a[k]-min);
}
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 逻辑谓词和消解原理的运用
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号