Pagini recente » Cod sursa (job #1612019) | Cod sursa (job #1908358) | Cod sursa (job #580206) | Cod sursa (job #1331074) | Cod sursa (job #783502)
Cod sursa(job #783502)
#include<fstream>
#include<iostream>
using namespace std;
ifstream f("light2.in");
ofstream g("light2.out");
long long N,nr,d[30];
long long K,i;
long long cmmdc(long long a, long long b)
{long long r=a%b;
while(r)
{a=b;
b=r;
r=a%b;}
return b;
}
void prelucreaza(long long position, long long value, long long sign, long long multiplicity)
{long long cmmmc;
for(long long j=position+1; j<=K; j++)
{cmmmc=(d[j]*value)/cmmdc(d[j],value);
nr+=(N/cmmmc)*sign*multiplicity;
prelucreaza(j,cmmmc,-sign,2*multiplicity);}
}
int main()
{
f>>N>>K;
for(i=1; i<=K; i++)
{f>>d[i];
nr+=N/d[i];}
for(i=1; i<=K; i++)
prelucreaza(i,d[i],-1,2);
g<<nr;
return 0;}