CF630K题解

修改日志

2022/11/7:2022/11/7:\mod 改成了 \bmod

思路

容斥原理

如果不懂容斥原理,请自行查阅书籍。

要想获得奖励,当且仅当交易数 kmod{2,3,4,5,6,7,8,9,10}0k\bmod \lbrace 2,3,4,5,6,7,8,9,10 \rbrace \ne 0,就这用容斥原理找出可获得奖励集合 A={xNxmod{2,3,4,5,6,7,8,9,10}0}A=\lbrace x\in N| x\bmod \lbrace 2,3,4,5,6,7,8,9,10 \rbrace \ne 0\rbrace

代码

#include<bits/stdc++.h>
using namespace std;
long long n;
int main(){
	scanf("%lld",&n);
	printf("%lld",n-n/2-n/3-n/5-n/7+n/6+n/10+n/14+n/15+n/21+n/35-n/30-n/105-n/70-n/42+n/210);
	return 0;
}
posted @ 2022-11-03 21:08  fengxiaoyi  阅读(17)  评论(0)    收藏  举报  来源