C. 真假亚瑟王(暴力)

魔术师梅林在水晶球中预见了莫德雷德的叛逆,她决定在在莫德雷德叛逆之前采取一个有效的策略保护亚瑟王。
具体做法如下:使用魔法将亚瑟王复制成N份,当然,其中只有一个使真的。她认为这样就能有效的保护亚瑟王不被杀死。
为了自己能最终找到亚瑟王,她将所有的亚瑟王按1-N编号,并设定了一个密码数字X。真亚瑟王的编号是最接近N的且不能被2X中任何一个数整除的数。(即真亚瑟王的编号的约数不再2X中)。

Input

两个整数X,NX,N,用一个空格隔开。

Output

真亚瑟王的编号。

Samples

Input Copy
3 6
Output
5
Input Copy
3 4
Output
1
Input Copy
5 50
Output
49

Hint

【数据范围】

  • 对于30%的数据,2XN10
  • 对于60%的数据,2XN1000
  • 对于80%的数据,2XN1e5
  • 对于100%的数据,2XN1e9

Source

石光中学 2018 常州 普及组 day6

这个就是暴力:要知道相邻的素数距离很小

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
ll n,x;
int judge(){
    if(n==1){
        return 1;
    }
    if(n>=2&&n<=x){
        return 0;
    }
    for(ll i=2;i*i<=n;i++){
        if(n%i==0&&i<=x){
            return 0;
        }
    }
    return 1;
}
int main(){
    cin>>x>>n;
    while(n>x){
        if(judge()){
            cout<<n<<endl;
            return 0;
        } 
        n--;
    }
    cout<<1<<endl;
}
原文地址:https://www.cnblogs.com/lipu123/p/14331503.html