列表

详情


WY46. 被3整除

描述

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

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

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

输入描述

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

输出描述

输出一个整数, 表示区间内能被3整除的数字个数。

示例1

输入:

2 5

输出:

3

说明:

12, 123, 1234, 12345...
其中12, 123, 12345能被3整除。

原站题解

C 解法, 执行用时: 1ms, 内存消耗: 368KB, 提交时间: 2020-03-12

#include <stdio.h>
#include <stdlib.h>
long long num(long long a)
{
    long long sum=0;
    while(a)
    {
        sum=sum+a;
         
    }
    return sum;
}
int main()
{
    int l,r;
    int i,j;
    long long sum=0;
    while(scanf("%d %d",&l,&r)!=EOF)
    {
        sum=0;
        int jishuqi=0;
        for(i=1;i<l;i++)
            sum=sum+num(i);
        for(i=l;i<=r;i++)
        {
            sum=sum+num(i);
            if(sum%3==0)
                jishuqi++;
        }
        printf("%d\n",jishuqi);
    }
    return 0;
}

C++14 解法, 执行用时: 1ms, 内存消耗: 368KB, 提交时间: 2020-02-24

#include<stdio.h>
int main(){
    int n,m;
    scanf("%d%d",&n,&m);
    return 0;
}

上一题