[NowCoder] 被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整除。

遍历从a到b。如果该值可以除3余1,说明该数不能被整除。如果余0或2,说明该数可以被整除。累计可以被整除的个数即可

#include <iostream>
using namespace std;

int main()
{
    int a, b;
    while (cin >> a >> b)
    {
        int cnt = 0;
        for (int i = a; i <= b; ++i)
        {
            if (i % 3 == 0)
                cnt++;
            else if (i % 3 == 2)
                cnt++;
            else
                ;
        }
        cout << cnt << endl;
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/immjc/p/9138952.html