题解 | #3的倍数#
3的倍数
https://ac.nowcoder.com/acm/problem/54841
三的倍数判断条件:数位相加的和是否为三的倍数
证明:
显然,是3的倍数,那么只需要判断是否是3的倍数即可
即:
所以我们将到的数字全部累加对三取余等价于根据题意组成的数字取余
因为我们可以将题意组成的数字写成到的数字乘相加得到,然后将每个数字提出,前半部分会变成,显然这个数字是三的倍数,所以判断提取的数字和是否为三的倍数即可。
AC代码
#include <bits/stdc++.h>
using namespace std;
int main(void)
{
int t;
cin >> t;
while (t--)
{
long long l, r;
cin >> l >> r;
if ((l + r) % 3 == 0 || (r - l + 1) % 3 == 0)
cout << "YES" << endl;
else
cout << "NO" << endl;
}
}