937B - Vile Grasshoppers
题目链接:http://codeforces.com/contest/937/problem/B
这道题,直接暴力,我们知道质数一定是可以的,据说10e9内两个质数相差不超过300,直接从y减到p,反正不超过300就会有质数出现,然后质数一定是符合要求的,然后最多300次 * sqrt(i)(每次耗时),所以可以。
艹
艹
艹
AC代码:
#include <bits/stdc++.h> using namespace std; int p, y; bool check(int x) { for(int i = 2; i <= p && i * i <= x; i++) { if(x % i == 0) return false; } return true; } int main() { int ans = -1; scanf("%d%d", &p, &y); for(int i = y; i > p; i--) { if(check(i)) { ans = i; break; } } printf("%d\n", ans); return 0; }