51NOD 1284 2 3 5 7的倍数

来源:互联网 发布:床单跟床笠哪个好 知乎 编辑:程序博客网 时间:2024/06/10 19:42
12842 3 5 7的倍数
基准时间限制:1 秒 空间限制:131072 KB 分值:5难度:1级算法题
收藏
关注
取消关注
给出一个数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的倍数的数共有多少。
Input示例
10
Output示例
1

思路:容斥原理 。 

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

原创粉丝点击