Cod sursa(job #216502)
Utilizator | Data | 24 octombrie 2008 19:01:29 | |
---|---|---|---|
Problema | Sum | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.37 kb |
#include<stdio.h>
int e[100000];
void euler()
{
int i;
for(i=0;i<100000;i++)
e[i]=i;
for(i=2;i<100000;i++)
{
if(e[i]==i)
e[i]--;
for(int j=i+i;j<100000;j++)
e[j]=e[j]/i*(i-1);
}
}
int main()
{
int x,n;
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d%d",&n,&x);
euler();
printf("%d",2*e[x]*x);
return 0;
}