• NYOJ-24-素数距离问题


    原题地址

    素数距离问题

     
    描述
    现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。
    如果输入的整数本身就是素数,则输出该素数本身,距离输出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 <iostream>
     2 #include<cmath>
     3 using namespace std;
     4 
     5 bool IsPrime(int n)
     6 {
     7     if(n<2)
     8         return false;
     9     for (int i=2; i<=sqrt(n); i++)
    10     {
    11         if (n%i==0)
    12         {
    13             return false;
    14         }
    15     }
    16     return true;
    17 }
    18 
    19 int main()
    20 {
    21     int n,m,m1,m2;
    22     cin>>n;
    23     while(n--)
    24     {
    25         cin>>m;
    26         if(IsPrime(m))
    27         {
    28             cout<<m<<" 0"<<endl;
    29             continue;
    30         }
    31         if(m==1)
    32         {
    33             cout<<"2 1"<<endl;
    34             continue;
    35         }
    36         m1=m2=m;
    37         while(m1--)
    38         {
    39             if(IsPrime(m1))
    40                 break;
    41         }
    42         while(m2++)
    43         {
    44             if(IsPrime(m2))
    45                 break;
    46         }
    47         if((m-m1)<=(m2-m))
    48             cout<<m1<<" "<<m-m1<<endl;
    49         else
    50             cout<<m2<<" "<<m2-m<<endl;
    51     }
    52     return 0;
    53 }
  • 相关阅读:
    RocketMQ 负载均衡
    RocketMQ 介绍及核心概念
    PagView动画
    andriod 视频播放方案
    Andriod 插件化初识
    Android 加载库的方式
    AIDL服务死亡代理
    Android O 创建后台Service
    IntentService
    Activity Dialog 进出动画
  • 原文地址:https://www.cnblogs.com/qq1353842241/p/8001045.html
Copyright © 2020-2023  润新知