网易C++面试题--被3整除

小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。

并且小Q对于能否被3整除这个性质很感兴趣。

小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。

输入描述:
输入包括两个整数l和r(1 <= l <= r <= 1e9), 表示要求解的区间两端。



输出描述:
输出一个整数, 表示区间内能被3整除的数字个数。
输入例子1:
2 5
输出例子1:
3
例子说明1:
12, 123, 1234, 12345...
其中12, 123, 12345能被3整除。


判断一个数能否被3整除:把这个数的所以位加起来,如果能除3余0,证明这个数能被3整除
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int main()
{
    LL l,r;
    scanf("%lld%lld",&l,&r);
    int num = 0;
    for(LL i=l;i<=r;i++)
    {
        LL ans = (i+1)*i;
        if(ans%6==0) num++;
    }
    printf("%d\n",num);
}

  

猜你喜欢

转载自www.cnblogs.com/masterchd/p/9211360.html
今日推荐