容斥原理+组合数学。。
#include<cstdio>
#define ll long long
using namespace std;
int main()
{
ll n;
scanf("%lld",&n);
ll ans = 0;
ans+=n/2;
ans+=n/3;
ans+=n/5;
ans+=n/7;
ans-=n/2/3;
ans-=n/2/5;
ans-=n/2/7;
ans-=n/3/5;
ans-=n/3/7;
ans-=n/5/7;
ans+=n/2/3/5;
ans+=n/2/3/7;
ans+=n/3/5/7;
ans+=n/2/5/7;
ans-=n/3/5/7/2;
printf("%lld\n",n-ans);
return 0;
}