rt,求dl证明一下正确性
#include <bits/stdc++.h>
using namespace std;
#define int long long
int ans = 1;
int l, r;
int sum;
int get(int x) {
if (x <= 3) return 1;
for (int i = 2; i * i <= x; i++)
if (x % i == 0) return x / i;
return 1;
}
signed main() {
cin >> l >> r;
int i = 1;
for (; i * i <= r; i++);
if ((i - 1) * (i - 1) == r) l = (i - 2) * (i - 2);
else l = (i - 1) * (i - 1);
for (int i = l; i <= r; i++) {
int next = get(i);
ans = max(next, ans);
}
cout << ans << endl;
return 0;
}