来看我们的序列,1,12,123,1234,12345......

我们会发现第最终的答案序列模3的余数为,1,0,0,1,0,0......

所以答案就是这个了

#include<cstdio>
#include<iostream>
using namespace std;
int l,r;
int main()
{
    scanf("%d%d",%l,%r);--l;
    int ans1=r/3*2+((r%3)>1);
    int ans2=l/3*2+((l%3)>1);
    return printf("%d",ans1-ans2),0;
}

不过为什么呢?

众所周知,能被3整除的数所有位数之和是3的倍数

我们每次在序列末尾加上一个数x,实际上是对原序列的数位之和加上x的数位之和

所以答案序列模3的余数就是1,2,0,1,2,0,1,2,0......的前缀和

既是1,0,0,1,0,0,1,0,0.........