代码
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int M=20;
int p[M];
int main()
{
int n,m;
cin>>n>>m;
for(int i=0;i<m;i++) cin>>p[i];
int res=0;
for(int i=1;i<(1<<m);i++)
{
int t=1,cnt=0;
for(int j=0;j<m;j++)
{
if(i>>j&1)
{
cnt++;
if((LL)t*p[j]>n)
{
t=-1;
break;
}
t=t*p[j];
}
}
}
if(t!=-1)
{
if(cnt%2) res+=n/t;
else res-=n/t;
}
cout<<res<<endl;
}
核心
数学知识