Java 实现“被3整除”
注意:输入与输出均在范围内。
首先,从开始位置left,计算第一个数字各位数字直接相加的和作为start,从start开始,在left与right之间依次加上该位置的数值。将当前数值➗3取余,若整除,则将结果res➕1。
另外,需要注意数值的范围,需要用long表示left、right、及结果。

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        long left = scan.nextLong();
        long right = scan.nextLong();
        scan.close();
        System.out.println(count(left, right));
    }

    private static long count(long left, long right) {
        long res = 0;

        long start = 0;
        for(long i=1; i<=left; i++) {
            start = start + i; //*10
        }
        if(start%3==0) {
            res++;
        }

        for(long i=left+1; i<=right; i++) {
            start += i;
            if(start%3 == 0) {
                res++;
            }
        }


        return res;
    }

}