zoukankan      html  css  js  c++  java
  • 【NYOJ】[24]素数距离问题

    这里写图片描述

    我还是用的素数打表
    题目的数据设置
    数组需要开大一些才能过
    有点坑

    #include<stdio.h>
    int a[1000500]= {1,1};
    int main() {
        for(int i=2; i<1000500; i++) {
            if(!a[i]) {
                for(int j=i+i; j<1000500; j+=i) {
                    a[j]=1;
                }
            }
        }
        int T;
        scanf("%d",&T);
        while(T--) {
            int m;
            scanf("%d",&m);
            int t1=m,sum1=0;
            while(a[t1]) {
                sum1++;
                t1--;
            }
            int t2=m,sum2=0;
            while(a[t2]) {
                sum2++;
                t2++;
            }
            if(sum2<sum1)
                printf("%d %d
    ",t2,sum2);
            else
                printf("%d %d
    ",t1,sum1);
        }
        return 0;
    }

    标程是用C++写的
    C++现在还不是很懂
    大概思路也是分成两部分来查找最近一个素数
    也是直接用的素数的判定

    #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;
        }
    }        

    题目地址:【NYOJ】[24]素数距离问题

  • 相关阅读:
    20200304(10)
    20200303Tuesday(9)
    词根词缀explicit(8)
    词根词缀(7)
    20200303(6)
    什么是ring0-ring3
    20200301a
    mark字体大全
    评估评价 提高专项(5)
    图的广度优先遍历算法
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569906.html
Copyright © 2011-2022 走看看