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