Pagini recente » Cod sursa (job #1401079) | Istoria paginii preoni-2008/clasament/runda-finala/5-8 | Cod sursa (job #124928) | Cod sursa (job #2414984) | Cod sursa (job #2461314)
#include <bits/stdc++.h>
using namespace std;
ifstream f("light2.in");
ofstream g("light2.out");
int v[25],k,prod,lim,sum,nr,i,j,p1,nr1;
long long n,vec[500];
int cmmdc(int a,int b)
{
int 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;
}