{容斥原理}

Posted yijiull

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了{容斥原理}相关的知识,希望对你有一定的参考价值。

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1284

比较基础练一下。

技术分享
 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 #include <algorithm>
 5 using namespace std;
 6 #define LL long long
 7 const int maxn=100010;
 8 
 9 LL n;
10 int d[4]={2,3,5,7};
11 int main()
12 {
13     while(scanf("%lld",&n)!=EOF)
14     {
15        LL ans=0;
16         for(int i=0;i<16;i++)
17         {
18             int cnt=0;
19             int temp=1;
20             if(i&1)
21             {
22                 temp*=d[0];
23                 cnt++;
24             }
25             if(i&2)
26             {
27                 temp*=d[1];
28                 cnt++;
29             }
30             if(i&4)
31             {
32                 temp*=d[2];
33                 cnt++;
34             }
35             if(i&8)
36             {
37                 temp*=d[3];
38                 cnt++;
39             }
40             if(cnt%2==0)   ans+=n/temp;
41             else  ans-=n/temp;
42         }
43     printf("%lld\n",ans);
44     }
45 }
View Code

 

以上是关于{容斥原理}的主要内容,如果未能解决你的问题,请参考以下文章

bzoj1853幸运数字——容斥原理

POJ 2773 容斥原理

hdu4153(容斥原理求质数)

bzoj 2393 Cirno的完美算数教室(容斥原理+搜索)

Codeforces1036F Relatively Prime Powers 容斥原理

POJ 2155 Matrix(树状数组+容斥原理)