题目传送门!
更好的阅读体验?
普及组月赛第一题。别的题解语言有点高深,我补篇题解。
显然,\(\lfloor \dfrac{l}{x}\rfloor, \lfloor \dfrac{l+1}{x}\rfloor, \cdots, \lfloor \dfrac{r}{x}\rfloor\) 是连续的整数。
而且,显然有 \(\operatorname{gcd}(c, c+1) = 1\)。
换句话说,只要 \(\lfloor \dfrac{l}{x}\rfloor \ne \lfloor \dfrac{r}{x}\rfloor\),结果就为 \(1\)。如果两者相等,答案就是 \(\lfloor \dfrac{l}{x}\rfloor\) 啦。
#include <iostream> #include <cstdio> using namespace std; int main() { int T; scanf("%d", &T); while (T--) { long long l, r, x; //本题唯一坑点,要记得开 long long。 scanf("%lld%lld%lld", &l, &r, &x); if (l / x != r / x) puts("1"); else printf("%lld\n", l / x); } return 0; }
希望能帮助到大家!
首发:2022-07-27 19:19:22