Pagini recente » Cod sursa (job #1581622) | Cod sursa (job #1795656) | Cod sursa (job #931261) | Cod sursa (job #2910481) | Cod sursa (job #631066)
Cod sursa(job #631066)
#include <fstream>
using namespace std;
const char InFile[]="mins.in";
const char OutFile[]="mins.out";
const int MaxM=1000111;
ifstream fin(InFile);
ofstream fout(OutFile);
long long c,d,sol;
int M,P[MaxM];
char D[MaxM];
int main()
{
fin>>c>>d;
fin.close();
M=max(c,d);
for(register int i=2;i<M;++i)
{
if(!P[i])
{
for(register int j=i;j<M;j+=i)
{
++P[j];
if((j/i)%i==0)
{
D[j]=1;
}
}
}
}
--c;--d;
sol=c*d;
for(register int i=2;i<M;++i)
{
if(!D[i])
{
if(P[i]&1)
{
sol-=(c/i)*(d/i);
}
else
{
sol+=(c/i)*(d/i);
}
}
}
fout<<sol;
fout.close();
return 0;
}