思路:
打印1-99的数没看出什么规律,但是到100以上的数就一定有连续的子序列mod3==0,根据直播听的鸽舍原理,以及同余原理可以知道,可以把每一位看成0,1或2,那么他们任意组合都满足 mod3 == 0所以,一百及一百以上的所有数都是3的friendly Integer
AC代码:
#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
int t;
scanf("%d",&t);
while(t--){
long long l,r;
scanf("%ld%ld",&l,&r);
long long ans = 0;
for(long long i = l;i<=r;i++){
if(i >= 100){
ans += r - i + 1;
break;
}else{
if(i<10 && i%3 == 0) ans++;
if(i>=10 && (i%10%3 == 0 || i/10%3 == 0 || i%3 == 0)) ans++;
}
}
printf("%ld\n",ans);
}
return 0;
}