小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。
并且小Q对于能否被3整除这个性质很感兴趣。
小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。
小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。
并且小Q对于能否被3整除这个性质很感兴趣。
小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。
输入包括两个整数l和r(1 <= l <= r <= 1e9), 表示要求解的区间两端。
输出一个整数, 表示区间内能被3整除的数字个数。
2 5
3
12, 123, 1234, 12345...
其中12, 123, 12345能被3整除。
F1
T12
T123
F1234
T12345
T123456
F1234567
T12345678
T123456789
F12345678910
T1234567891011
T123456789101112
1 4 7 10 13 不行 import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sNum = sc.nextInt();
int count = 0;
int eNum = sc.nextInt();
int num = eNum-sNum+1;
for (int i=sNum;i<=eNum;i++){
if(i%3-1==0){
count++;
}
}
System.out.println(num-count);
}
}
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int l = scanner.nextInt(); int r = scanner.nextInt(); int res = 0; for (int i = l; i <= r; ++i) { if (i % 3 == 0 || (i + 1) % 3 == 0) { ++res; } } System.out.println(res); scanner.close(); } }
import java.util.*; public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int left = scanner.nextInt(); int right = scanner.nextInt(); if(left>right) return ; int result = (right-left+1)/3*2; int mod = (right-left+1)%3; if(mod == 1){ if(left%3 != 1) result += 1; } else if(mod == 2){ if(left%3 == 2) result += 2; else result += 1; } System.out.println(result); } }
我这个在eclipse中运行时对的,为什么在这编译出错?
public static void main(String[] args) {// TODO Auto-generated method stub