zoukankan      html  css  js  c++  java
  • luogu P2640 神秘磁石| 线性筛素数

    题目描述

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

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

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

    输入格式

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

    输出格式

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


    1-n里面找所有差为k的素数对

    直接筛素数,逐一判断就好了

    天天考数论,再不好好练练数论就会被虐死

    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    #define db double
    #define int long long
    const int N=2e5+10;
    bool vis[N];
    int n,k;
    inline void primes(){
    	for(int i=2;i<=n;i++){
    		if(vis[i])continue;
    		for(int j=i;j<=n/i;j++)vis[j*i]=1;
    	}
    }
    signed main(){
    	cin>>n>>k;
    	primes();
    	bool op=1;
    	for(int i=2;i+k<=n;i++)
    	if(!vis[i]&&!vis[i+k]){
    		printf("%d %d
    ",i,i+k);
    		op=0;
    	}
    	if(op)printf("empty
    ");
    }
    
  • 相关阅读:
    [线段树][数学]JZOJ 4237 Melancholy
    [规律]JZOJ 4222 恐怖的奴隶主
    [Tarjan][基环树]JZOJ 4221 互相追逐的点
    [斯特林数][自然数幂和]JZOJ 4220 WYF的盒子
    奇妙的骚操作
    [树形DP][概率期望]JZOJ 4225 宝藏
    操作系统基础知识
    计算机硬件知识整理
    ORM的查询
    ORM的记录添加和删除
  • 原文地址:https://www.cnblogs.com/naruto-mzx/p/11752564.html
Copyright © 2011-2022 走看看