链接:
https://www.nowcoder.com/questionTerminal/51dcb4eef6004f6f8f44d927463ad5e8
来源:牛客网
来源:牛客网
小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整除。
题目分析:
该数列{an}
n =
1
---->
1
n =
2
---->
0
n =
3
---->
0
n =
4
---->
1
n =
5
---->
0
n =
6
---->
0
n =
7
---->
1
...
n对三取余结果也只有三种情况
0
,
1
,
2
余数为
0
,
2
的的数列{an}都能被三整除
AC代码:
import
java.util.Scanner;
public
class
Main {
public
static
void
main(String[] args) {
// TODO Auto-generated method stub
Scanner src=
new
Scanner(System.in);
int
start= src.nextInt();
int
end =src.nextInt();
int
count=
0
;
for
(
long
i=start;i<=end;i++){
if
(i%
3
==
0
||i%
3
==
2
){
count++;
}
}
System.out.println(count);
}
}