nyoj 24 素数距离
来源:互联网 发布:淘宝店铺什么是c店 编辑:程序博客网 时间:2024/05/21 04:22
如果输入的整数本身就是素数,则输出该素数本身,距离输出0
- 输入
- 第一行给出测试数据组数N(0<N<=10000)
接下来的N行每行有一个整数M(0<M<1000000), - 输出
- 每行输出两个整数 A B.
其中A表示离相应测试数据最近的素数,B表示其间的距离。 - 样例输入
36810
- 样例输出
5 17 111 1
#include<stdio.h>
#include<stdlib.h>
int isPrime(int num)
{
if(num==1)return 0;
for(int i=2;i*i<=num;i++)
if(num%i==0)
return 0;
return 1;
}
int main()
{
int n,num,numUp,numDown,deltUp,deltDown;
scanf("%d",&n);
while(n--)
{
scanf("%d",&num);
if(isPrime(num))//本身是素数,后面就不用了
printf("%d 0\n",num);
else
{
numUp=numDown=num;
while(!isPrime(numUp))
{
numUp+=1;
}
while(!isPrime(numDown)&&numDown>0)//边界条件,否则不能通过
{
numDown-=1;
}
deltUp = numUp-num;
deltDown = num-numDown;
if(numDown==0)//特殊情况:左边没有找到
printf("%d %d\n",numUp,deltUp);
else if(deltUp>=deltDown)//输出距离小的, 相等则左
printf("%d %d\n",numDown,deltDown);
else
printf("%d %d\n",numUp,deltUp);
}
}
//system("PAUSE");
return 0;
}
- nyoj 24 素数距离
- NYOJ 24 素数距离问题
- NYOJ 24-素数距离问题
- NYOJ 24 素数距离问题
- NYOJ-24-素数距离问题
- NYOJ 24 素数距离问题
- nyoj 24 素数距离问题
- Nyoj 24 素数距离问题
- nyoj 24 素数距离问题
- nyoj 24 素数距离问题
- NYOJ 24 素数距离问题
- nyoj-24-素数距离问题
- NYOJ 24 素数距离问题
- NYOJ 24 素数距离问题
- NYOJ 24 素数距离问题
- NYOJ 24 素数距离问题
- NYOJ--24素数距离问题
- nyoj 24 素数距离问题
- Samba在Ubuntu12.04安装
- 机器学习5 高斯判别法
- WEB-INF目录与META-INF目录的作用
- 南方电网用电时间序列分析
- string转int/float/double、int/float/double转string、转字符串数组的方法:stoi、stringstream、scanf、to_string、sprintf
- nyoj 24 素数距离
- 【LightOJ】1198 - Karate Competition(贪心 & 双端队列)
- Android 大神们
- 史上最简单的单例模式详解
- JAVA_静态
- Android的Java混淆
- NorthWind数据库生成脚本
- Oracle 查询技巧与优化(一) 单表查询与排序
- 网易2016软件工程师笔试题-----[编程题] 奖学金(C++实现)