P8443 题解


前言

题目传送门!

更好的阅读体验?

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

思路

显然,/(/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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/282284.html

(0)
上一篇 2022年8月26日 06:38
下一篇 2022年8月26日 06:38

相关推荐

发表回复

登录后才能评论