51nod 1284(容斥)

来源:互联网 发布:ipad淘宝怎么追加评价 编辑:程序博客网 时间:2024/06/05 14:28

给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。
Input
输入1个数N(1 <= N <= 10^18)。
Output
输出不是2 3 5 7的倍数的数共有多少。
Sample Input
10
Sample Output
1

看看容斥的思想这道题目就会了。

#include <bits/stdc++.h>using namespace std;int main(){long long n;while(cin>>n){cout<<n-n/2-n/3-n/5-n/7+n/6+n/10+n/14+n/15+n/21+n/35-n/105-n/70-n/42-n/30+n/210;}return 0;} 




原创粉丝点击