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;
}
}

京公网安备 11010502036488号