P8443 题解

liangbowen

2022-07-27 19:19:22

题解

前言

题目传送门!

更好的阅读体验?

普及组月赛第一题。别的题解语言有点高深,我补篇题解。

思路

显然,\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;
}

希望能帮助到大家!