Pagini recente » Cod sursa (job #128767) | Cod sursa (job #2133069) | Cod sursa (job #1750567) | Cod sursa (job #786678) | Cod sursa (job #24467)
Cod sursa(job #24467)
#include<stdio.h>
#include<string.h>
#include<fstream.h>
long n;
long long s;
char div[10001];
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<<endl;
g.close();
return 0;
}