51Nod 1284 2 3 5 7的倍数

Posted 午夜的行人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod 1284 2 3 5 7的倍数相关的知识,希望对你有一定的参考价值。

给出一个数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

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <stdio.h>
 4 #include <cstring>
 5 using namespace std;
 6 #define ll long long
 7 int main()
 8 {
 9     ll n;
10     while(cin>>n){
11         ll s2,s3,s5,s7,s23,s25,s27,s35,s37,s57,s235,s237,s257,s357,s2357,s=0;
12         s2=n/2,s3=n/3,s5=n/5,s7=n/7;
13         s23=n/(2*3),s25=n/(2*5),s27=n/(2*7),s35=n/(3*5),s37=n/(3*7),s57=n/(5*7);
14         s235=n/(2*3*5),s235=n/(2*3*5),s237=n/(2*3*7),s257=n/(2*5*7),s357=n/(3*5*7);
15         s2357=n/(2*3*5*7);
16         s+=s2+s3+s5+s7-s23-s25-s27-s35-s37-s57+s235+s237+s257+s357-s2357;
17         cout<<n-s<<endl;
18     }
19     return 0;
20 }

 

以上是关于51Nod 1284 2 3 5 7的倍数的主要内容,如果未能解决你的问题,请参考以下文章

51Nod——N1284 2 3 5 7的倍数

51Nod 1284 2 3 5 7的倍数

[51nod]1284 2 3 5 7的倍数

51nod 1284 2 3 5 7的倍数 | 容斥原理

51Nod 1248 2 3 5 7 的倍数 容斥

51nod1284容斥定理