Pagini recente » Cod sursa (job #1871199) | Cod sursa (job #138262) | Cod sursa (job #2832572) | Cod sursa (job #2261127) | Cod sursa (job #543747)
Cod sursa(job #543747)
# include <fstream>
using namespace std;
int k, v[28];
long long n, sol;
void read ()
{
ifstream fin ("light2.in");
fin>>n>>k;
for(int i=1;i<=k;++i)
fin>>v[i];
}
long long cmmdc(long long x,long long y)
{
long long r;
do{
r=x%y;
x=y;
y=r;
}
while (r);
return x;
}
void solve (int p, long long cmmmc, int nt)
{
if (p==k+1)
{
if (nt==0)
return;
if (nt%2==0)
sol-=n/cmmmc*(1<<(nt-1));
else
sol+=n/cmmmc*(1<<(nt-1));
return;
}
solve (p+1, cmmmc, nt);
long long q=cmmmc/cmmdc(cmmmc,v[p])*v[p];
if (q<=n)
solve(p+1,q,nt+1);
}
int main()
{
read ();
solve (1, 1, 0);
ofstream fout ("light2.out");
fout<<sol;
return 0;
}