網易筆試編程題:被3整除

小Q獲得一個神奇的數列: 1, 12, 123,...12345678910,1234567891011...。java

而且小Q對於可否被3整除這個性質很感興趣。spa

小Q如今但願你能幫他計算一下從數列的第l個到第r個(包含端點)有多少個數能夠被3整除。code

輸入描述:
輸入包括兩個整數l和r(1 <= l <= r <= 1e9), 表示要求解的區間兩端。
輸出描述:
輸出一個整數, 表示區間內能被3整除的數字個數。
輸入例子1:
2 5
輸出例子1:
3
例子說明1:
12, 123, 1234, 12345...
其中12, 123, 12345能被3整除。
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        int start = s.nextInt();
        int end = s.nextInt();
        if(start>end){
         System.out.println(0);
            return;
        }
        int count = 0;
        for(long i = start;i<=end;i++){
            long r = ((1+i)*i/2)%3;
            if(r==0)
                count++;
        }
        System.out.println(count);
    }
}
相關文章
相關標籤/搜索