点击打开链接
Problem A
Time Limit: 1000MS Memory limit: 65536K
题目描述
求1到n范围内能被5,6,8整除的数的个数。(0<n<10^7)
输入
多组数据,处理到文件结尾。
每行输入一个n;
输出
输出结果,每个结果占一行。
示例输入
1000
示例输出
400
提示
1到n被6整除数的个数为n/6(取整)。
示例程序
一开始打表RE,结果芳姐告诉是容斥原理。这有链接:点击打开链接
ps:芳姐就是给力
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int i,j,k,n,b,a;
while(cin>>n)
{
b = n/30+n/24+n/40;
a = n/120;
k = n/5+n/6+n/8;
cout<<k-b+a<<endl;
}
return 0;
}