Pagini recente » Cod sursa (job #679945) | Cod sursa (job #2007337) | Cod sursa (job #629930) | Profil StarGold2 | Cod sursa (job #1780469)
#include <cstdio>
using namespace std;
int v1[25],v[25];
long long n,sol;
long long cmmmc(long long a,long long b)
{
long long p,r;
p=a*b;
while(1)
{
r=a%b;
if(r==0) break;
a=b;
b=r;
}
b=p/b;
return b;
}
inline void back_trk(int i,long long b,int l)
{
b=cmmmc(v[i],b);
l++;
if(l>n) return;
if(l&1) sol=sol+(1<<(l-1))*(n/b);
else sol=sol-(1<<(l-1))*(n/b);
for(int j=i-1;j>=0;j--)
back_trk(j,b,l);
}
int main()
{
freopen("light2.in","r",stdin);
freopen("light2.out","w",stdout);
int k,c;
scanf("%lld%d",&n,&k);
for(int i=0;i<k;i++)
{
scanf("%d",&v[i]);
back_trk(i,1,0);
}
printf("%lld",sol);
return 0;
}