Pagini recente » Cod sursa (job #2874415) | winner17 | Cod sursa (job #2132194) | Cod sursa (job #1390581) | Cod sursa (job #2461311)
#include <bits/stdc++.h>
using namespace std;
ifstream f("light2.in");
ofstream g("light2.out");
long long v[25],k,n,prod,lim,sum,nr,i,j,p1,vec[50000],nr1;
long long cmmdc(long long a,long long b)
{
long long r;
r=a%b;
while (r)
{
a=b;
b=r;
r=a%b;
}
return b;
}
int main()
{
f>>n;
f>>k;
for (i=1;i<=k;i++)
{
f>>v[i];
/*for (j=v[i];j<=n;j+=v[i])
{
vec[j]=1-vec[j];
}*/
}
/*for (i=1;i<=n;i++)
{
if (vec[i]==1)
{
nr1++;
}
}*/
lim=(1<<k);
for (j=1;j<lim;j++)
{
prod=1;
nr=0;
for (i=0;i<k;i++)
{
p1=(1<<i);
if ((j&p1)!=0)
{
prod=prod*v[i+1]/cmmdc(prod,v[i+1]);
nr++;
}
}
if (nr%2==0)
{
sum=sum-n/prod*(1LL<<(nr-1));
}
else
{
sum=sum+n/prod*(1LL<<(nr-1));
}
}
g<<sum;//<<'\n'<<nr1;
return 0;
}