Pagini recente » Cod sursa (job #198353) | Cod sursa (job #499488) | Cod sursa (job #2645614) | Cod sursa (job #1722036) | Cod sursa (job #981725)
Cod sursa(job #981725)
#include<stdio.h>
int v[1000002];
long long min(long long a,long long b)
{
return a<b?a:b;
}
int main()
{
freopen("mins.in","r",stdin);
freopen("mins.out","w",stdout);
long long n,m,i,j,s=0,max,p,n1,m1;
scanf("%lld%lld",&n,&m);
n1=n-1;
m1=m-1;
max=min(n,m)-1;
for(i=2;i<=max;++i)
{
if(v[i]==0)
{
for(j=i;j<=max;j+=i)
++v[j];
p=i*i;
for(j=p;j<=max;j+=p)
v[j]=-2000000000;
}
if(v[i]>0)
if(v[i]&1)
s-=(n1/i)*(m1/i);
else
s+=(n1/i)*(m1/i);
}
printf("%lld\n",s+n1*m1);
return 0;
}