zoukankan      html  css  js  c++  java
  • P5535 【XR-3】小道消息

    题解

    根据切比雪夫定理,对于整数 (x>1),至少有一个质数 (p) 满足 (x<p<2x)

    所以第一天会从数字为 (k+1) 的人传到某个满足 (lfloor frac{n}{2} floor<p<n) 的质数 (p),第二天会从这个质数传到所有数。

    考虑什么情况下只需要一天:(2sim (n+1)) 中所有数(除了 (k+1))都与 (k+1) 互质,即 (k+1) 为质数且 (2(k+1)>n+1)

    一个更强的说法:对于任意整数 (n>3),都有质数 (p) 满足 (n<p<2n-2)

    代码
    #include <cstdio>
    #include <cstring>
    #include <cctype>
    using namespace std;
    #define For(Ti,Ta,Tb) for(int Ti=(Ta);Ti<=(Tb);++Ti)
    #define Dec(Ti,Ta,Tb) for(int Ti=(Ta);Ti>=(Tb);--Ti)
    template<typename T> void Read(T &x){
    	x=0;int _f=1;
    	char ch=getchar();
    	while(!isdigit(ch)) _f=(ch=='-'?-1:_f),ch=getchar();
    	while(isdigit(ch)) x=x*10+(ch^48),ch=getchar();
    	x=x*_f;
    }
    template<typename T,typename... Args> void Read(T &x,Args& ...others){
    	Read(x);Read(others...);
    }
    typedef long long ll;
    const int Inf=0x3f3f3f3f;
    ll n,k;
    bool IsPrime(ll x){
    	for(ll i=2;i*i<=x;++i) if(x%i==0) return 0;
    	return 1;
    }
    int main(){
    	Read(n,k);
    	puts(IsPrime(k+1)&&(k+1)*2>n+1?"1":"2");
    	return 0;
    }
    
    Written by Alan_Zhao
  • 相关阅读:
    [HAOI2008]下落的圆盘
    10.2 上午 考试
    10.1 考试 ..........
    9.29 考试
    博弈论笔记
    bzoj_1022: [SHOI2008]小约翰的游戏John
    课程总结第十五周
    团队冲刺第二阶段09
    团队冲刺第二阶段08
    对搜狗输入法的评价
  • 原文地址:https://www.cnblogs.com/alan-zhao-2007/p/p5535-sol.html
Copyright © 2011-2022 走看看