洛谷P8219题解
本文同步更新于洛谷博客
题目描述
\(f(x)\) 表示除 \(x\) 本身之外,\(x\) 的最大约数。给定 \(L,R\),求 \(\max\limits_{i=L}^R\{f(i)\}\)。
题解
先感性理解,要让 \(x\) 尽量大,并且让它除 \(1\) 以外的最小约数尽量小,不难想到答案为 \([L,R]\) 中最大偶数的一半。
若 \(R\) 为偶数,显然。若 \(R\) 为奇数,即证 \(\dfrac{R-1}{2}\geqslant\dfrac{R}{3}\),等价于 \(R\geqslant3\),刚好符合题目的数据范围,证毕。
Code
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll l,r;
int main()
{
scanf("%lld%lld",&l,&r);
printf("%lld\n",r>>1);
return 0;
}

浙公网安备 33010602011771号