#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
int factor[5];
int rongchi[10000];
int num;
ll N;
int gcd(int a,int b)
{
if(b==0) return a;
else return gcd(b,a%b);
}
ll fun()
{
int l=0;
rongchi[l++]=-1;
ll sum = 0;
for(int i=0;i<num;i++)
{
int cur = l;
for(int j = 0;j<cur;j++)
{
rongchi[l++]=-1*rongchi[j]*factor[i]/gcd(fabs(rongchi[j]),fabs(factor[i]));
}
}
for(int i=1;i<l;i++)
{
// cout << rongchi[i]<< endl;
if(rongchi[i]!=0)
{
sum+=N/rongchi[i];
}
}
return sum;
}
int main()
{
factor[0]=2;
factor[1]=3;
factor[2]=5;
factor[3]=7;
num=5;
while(cin >> N)
{
cout << N-fun() << endl;
}
}
51Nod 1284容斥定理
最新推荐文章于 2018-10-13 16:31:54 发布