Pagini recente » Cod sursa (job #1899633) | Cod sursa (job #204354) | Cod sursa (job #986753) | Cod sursa (job #2707354) | Cod sursa (job #2461312)
#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[500],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];
}
vec[0]=1;
for (j=1;j<=k;j++)
{
vec[j]=vec[j-1]*2;
}
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*vec[nr-1];
}
else
{
sum=sum+n/prod*vec[nr-1];
}
}
g<<sum;
return 0;
}