Cod sursa(job #709349)
Utilizator | Data | 7 martie 2012 23:56:59 | |
---|---|---|---|
Problema | Mins | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.41 kb |
#include <stdio.h>
#define NMAX 1000005
int n,m,fi[NMAX],rez=1;
int main()
{
freopen("mins.in","r",stdin);
freopen("mins.out","w",stdout);
scanf("%d%d",&n,&m);
n--; m--;
int i,j,aux;
if (n<m)
aux=n,n=m,m=aux;
for (i=2; i<=n; i++)
fi[i]=(i-1)>=m ? i-1 : m;
for (i=2; i<=n; i++)
for (j=i*2; j<=n; j+=i)
fi[j]-=fi[i];
for (i=2; i<=n; i++)
rez+=fi[i];
printf("%d\n",rez);
return 0;
}