洛谷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;
}
posted @ 2022-03-19 19:44  Ginger_he  阅读(92)  评论(0)    收藏  举报