nyoj24-素数 距离问题
2024-08-31 05:58:59
素数距离问题
时间限制: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 main()
{ int s(int x);
int n;
scanf("%d",&n);
while(n--)
{
int m,a,b,i;
scanf("%d",&m);
if(s(m))
printf("%d 0\n",m);
else
for(i=1;i<m;i++)
{
if(s(m-i))
{
printf("%d %d\n",m-i,i);
break;
}
else if(s(m+i))
{
printf("%d %d\n",m+i,i);
break;
}
}
}
return 0;
}
int s(int x)
{
int i,t=1;
for(i=2;i<x;i++)
{
if(x%i==0)
{
t=0;
break;}
}
return t;
}
下面是最优程序:
#include<iostream>
#include<cmath>
using namespace std;
bool isprime(int n)
{
for(int k=2;k<=sqrt((double)n);k++)
if((n%k)==0)
return false;
return true;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int num,i,j;
cin>>num;
if(num==1)
{
cout<<"2 1"<<endl;
continue;
}
for(i=num;!isprime(i);i--);
for(j=num;!isprime(j);j++);
if((num-i)<(j-num))
cout<<i<<' '<<(num-i)<<endl;
else if((num-i)>(j-num))
cout<<j<<' '<<(j-num)<<endl;
else if((num-i)==(j-num))
cout<<i<<' '<<(num-i)<<endl;
}
}
最新文章
- 安卓Design包之超强控件CoordinatorLayout与SnackBar的简单使用
- kmeans算法c语言实现,能对不同维度的数据进行聚类
- 修改PUTTY支持保存密码
- A trip through the Graphics Pipeline 2011_05
- XE6移动开发环境搭建之IOS篇(2):安装VM9虚拟机(有图有真相)
- [QualityCenter]设置工作流脚本-缺陷字段值发生变化时的处理
- Ehcache(06)——监听器
- poj2723
- 转:Nginx 日志文件切割
- strtotime的几种用法区别
- OpenCms创建站点过程图解——献给OpenCms的刚開始学习的人们
- C 指针的几个注意点
- 07 训练Tensorflow识别手写数字
- .Net Core中的通用主机(二)——托管服务
- day 01 python基础
- 【LOJ#6283】数列分块7
- java 字符串中参数化符号${}的解析
- hiho #1014 : Trie树(模板)
- leetcode 217&mdash;Contains Duplicate
- MySQL多实例(二)
热门文章
- Libevent 学习笔记 (1)——Libevent 2.0安装与简单演示样例
- Android之QQ授权登录获取用户信息
- 关东升的《从零開始学Swift》即将出版
- uiautomator +python 安卓UI自动化尝试
- VC问题 IntelliSense:“没有可用的附加信息”,[请參见“C++项目 IntelliSense 疑难解答”,获得进一步的帮助]
- 哈理工2015暑假集训 zoj 2975 Kinds of Fuwas
- C# 文件的一些基本操作(转)//用C#读写ini配置文件
- 试用php的ping命令
- java input 实现调用手机相机和本地照片上传图片到服务器然后压缩
- go-swagger的简单使用