Pagini recente » Cod sursa (job #1512842) | Cod sursa (job #267372) | Cod sursa (job #2865786) | Cod sursa (job #276364) | Cod sursa (job #928208)
Cod sursa(job #928208)
#include <stdio.h>
int n, m, v[1000010], i, j, t, aux;
long long a;
inline int min(int a, int b){
return a<b?a:b;
}
int main(){
freopen("mins.in","r",stdin);
freopen("mins.out","w",stdout);
scanf("%d %d", &n, &m);
t=min(n, m)-1;
for(i=2; i<=t; i++)
{
if(!v[i])
{
for(j=i; j<=t; j+=i)
v[j]++;
if(i<=t/i)
{
aux=i*i;
for(j=aux; j<=t; j+=aux)
v[j]=-10000000;
}
}
if(v[i]>=0)
if(v[i] & 1)
a-=(long long)(n-1)/i*(m-1)/i;
else
a+=(long long)(n-1)/i*(m-1)/i;
}
printf("%lld\n", a+(long long)(n-1)*(m-1));
return 0;
}