http://codeforces.com/contest/937/problem/B
给两个数 p, y;
求 p到y的区间中 不是2到p之间的倍数的最大数
#include <iostream>
#include <queue>
#include <map>
#include <cstring>
using namespace std;
int p,y;
bool flag;
int main(){
cin >> p >> y;
for (int i=y;i>p;i--){ //从答案必定大于p
flag=1;
for (int j=2;j*j<=i&&j<=p;j++){ //i%j==0的前提是j<根号i,所以需要加j*j<=i来剪枝
if (i%j==0){
flag=0;
break;
}
}
if (flag){
cout << i << endl;
exit(0);
}
}
cout << -1 << endl;
}