zoukankan      html  css  js  c++  java
  • 洛谷 P2640 神秘磁石

    题目背景

    在遥远的阿拉德大陆,有一种神秘的磁石,是由魔皇制作出来的,

    题目描述

    1.若给他一个一维坐标系,那么他的磁力一定要在素数坐标的位置上才能发挥的最大(不管位置坐标的大小,只要是素数那么磁力就一样大)

    2.若两个磁石相距为k,那么磁石间的破坏力将会达到当前磁力的峰值

    显然,两磁石间最大破坏力取决于磁力大小和磁石间距,那么请问给出长度不超过n的一维坐标系,有哪几对坐标间磁石破坏力最大。

    输入输出格式

    输入格式:

     

    两个正整数n,k。1<=k<=n<=10000

     

    输出格式:

     

    所有小于等于n的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出empty。

     

    输入输出样例

    输入样例#1: 复制
    6924 809
    输出样例#1: 复制
    2 811
    思路:欧拉筛素数,然后暴力枚举
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define MAXN 10010
    using namespace std;
    int n,k,num,ans;
    int prime[MAXN];
    bool yes[MAXN];
    void shai(){
        memset(yes,true,sizeof(yes));
        yes[1]=false;
        for(int i=2;i<=n;i++){
            if(yes[i])    prime[++num]=i;
            for(int j=1;prime[j]*i<=n;j++){
                yes[prime[j]*i]=false;
                if(i%prime[j]==0)    break;
            }
        }
    }
    int main(){
        scanf("%d%d",&n,&k);
        shai();
        for(int i=1;i<=num;i++)
            for(int j=i+1;j<=num;j++)
                if(prime[j]-prime[i]==k){
                    ans++;
                    cout<<prime[i]<<" "<<prime[j]<<endl;
                }    
        if(!ans)    cout<<"empty";
    }


    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    ElasticSearch 2 (23)
    ElasticSearch 2 (22)
    微信小程序框架模板部署:mpvue2.x+typescript+webpack3.x
    mpvue添加对scss的支持
    mpvue 封装axios请求方法
    Vue中qs插件的使用
    在微信小程序中使用less/sass
    微信小程序封装request请求
    VSCode --tsc : 无法加载文件
    Vue项目中的RSA加解密
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7846637.html
Copyright © 2011-2022 走看看