Java—整除

Description
求1到n范围内能被 5 或 6 或 8 整除的数的个数。

Input
多组数据,处理到文件结尾。
每行输入一个n;

Output

输出结果,每个结果占一行。

Sample
Input
1000
Output
400
Hint
1到n被6整除数的个数为n/6(取整)。

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner reader = new Scanner(System.in);
		int n, a;
		while (reader.hasNext()) {
			n = reader.nextInt();
			a = n / 5 + n / 6 + n / 8 - n / 30 - n / 24 - n / 40 + n / 120;
			System.out.println(a);
		}
	}

}

此题是要求求1到n范围内能被 5 或 6 或 8 整除的数的个数,提示里给了一种做法“1到n被6整除数的个数为n/6(取整)”这种做法可以结合“容斥原理”