Pagini recente » Cod sursa (job #1276519) | Cod sursa (job #138315) | Cod sursa (job #693181) | Cod sursa (job #2346110) | Cod sursa (job #2097553)
#include<cstdio>
#include<cmath>
using namespace std;
int v[1000001],c,d,lim;
long long sol=0;
void psciur(int x)
{
int lim=(int)sqrt(x);
for(int i=2;i<=x;++i)
{
for(int j=i;j<=x;j+=i)
{
if(v[j]>=0)
v[j]++;
}
if(v[i]>=0)
{
if(v[i]%2)
sol+=(((1LL*c)/(1LL*i))*((1LL*d)/(1LL*i)));
else
sol-=(((1LL*c)/(1LL*i))*((1LL*d)/(1LL*i)));
}
if(i<=lim)
{
for(int j=i*i;j<=x;j+=i*i)
{
v[j]=-1;
}
}
}
}
int main()
{
freopen("mins.in","r",stdin);
freopen("mins.out","w",stdout);
int minim;
scanf("%d%d",&c,&d);
c--;
d--;
if(c<=d)
minim=c;
else
minim=d;
psciur(minim);
printf("%lld\n",1LL*c*d-sol);
return 0;
}