Pagini recente » Cod sursa (job #2966772) | Cod sursa (job #2151201) | Cod sursa (job #2920522) | Cod sursa (job #116185) | Cod sursa (job #22581)
Cod sursa(job #22581)
#include<stdio.h>
#include<string.h>
#include<fstream.h>
long n;
long long s;
char div[1000001];
long E(long i)
{ float fi, a=1.0, b=1.0;
fi=i;
long k;
for(k=2;k<=n;k++)
if(div[k]=='1' && i%k==0 && k<=i)
{a*=k-1;
b*=k;
}
fi=a/b*i;
return (long)fi;
}
int main()
{
fstream f("fractii.in",ios::in);
f>>n;
f.close();
long i=2,k;
memset(div,'1',n+1);
while(i<=n)
{if(div[i]=='1')
for(k=2;i*k<=n;k++)
div[i*k]='0';
i++;
}
s=1;
for(i=2;i<=n;i++)
s+=2*E(i);
fstream g("fractii.out",ios::out);
g<<s;
g.close();
return 0;
}