Pagini recente » Cod sursa (job #879071) | Rating Vlad Lujerdeanu (VladLujerdeanu) | Cod sursa (job #2224184) | Cod sursa (job #735721) | Cod sursa (job #1235912)
#include <cstdio>
#include <algorithm>
#define Nmax 1000005
using namespace std;
int ciur[Nmax];
int main()
{
long long sol;
int c,d,aux,i,j;
freopen ("mins.in","r",stdin);
freopen ("mins.out","w",stdout);
scanf("%d%d", &c,&d);
--c; --d;
sol=1LL*c*d; aux=max(c,d);
for(i=2;i<=aux;++i)
if(!ciur[i])
{
sol-=1LL*(c/i)*(d/i);
for(j=i*2;j<=aux;j+=i)
++ciur[j];
}
else
{
if(ciur[i]>=2)
{
sol+=1LL*(c/i)*(d/i)*(ciur[i]-1);
for(j=i*2;j<=aux;j+=i)
--ciur[j];
}
}
printf("%lld\n", sol);
return 0;
}