题解 | #3的倍数#
3的倍数
https://ac.nowcoder.com/acm/problem/54841
根据小学奥数可知,“一个数可以被 整除”是“一个数的各位数字之和可以被 整除”的充要条件。具体证明方法是将每一位表示出来,本质是 和 在模 意义下同余。
那么将 到 中的数拼出来组成的新数被 整除当且仅当 到 中的所有数的数位和能被 整除。而这个又当且仅当 到 中每个数的和能被 整除。
故答案即为 是否能被 整除。根据等差数列求和公式,算一算即可。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
signed main() {
int cas;cin>>cas;
while(cas--) {
ll l,r;
cin>>l>>r;
if((l+r)%3==0||(r-l+1)%3==0) cout<<"YES\n";
else cout<<"NO\n";
}
return 0;
}