Pagini recente » Cod sursa (job #2743111) | Cod sursa (job #772220) | Cod sursa (job #2851874) | Cod sursa (job #2250169) | Cod sursa (job #541638)
Cod sursa(job #541638)
#include<stdio.h>
long long N,K,v[203],q,rez;
long long euc(long long a,long long b)
{
if(b==0) return a;
else return euc(b,a%b);
}
long long cmmmc(long long a,long long b)
{
return a*b/euc(a,b);
}
void desc(long long x)
{
long long k=1;
long long S=1;
long long P=1;
q=0;
while(x)
{//printf("%d",x%2);
if(x%2==1)
{++q;
if(q==1)
S=v[k];
else
S=cmmmc(S,v[k]);
}
x=x/2;
++k;
}
if(q%2==1)
rez+=(N/S)*(1<<(q-1));
else rez-=(N/S)*(1<<(q-1));
}
int main()
{
freopen("light2.in","r",stdin);
freopen("light2.out","w",stdout);
scanf("%lld%lld",&N,&K);
for(int i=1;i<=K;++i)
scanf("%lld",&v[i]);
for(int i=1;i<=(1<<K)-1;++i)
{
desc(i);
}
printf("%lld\n",rez);
}