Pagini recente » Cod sursa (job #2967591) | Cod sursa (job #112549) | Cod sursa (job #2562002) | Cod sursa (job #1700536) | Cod sursa (job #7816)
Cod sursa(job #7816)
#include<math.h>
#include<fstream.h>
#define input "fractii.in"
#define output "fractii.out"
int a[1000];
long tot(long p)
{
long i=2;
long t=p;
while(i<=p)
{
if(a[i]!=1&&p%i==0)
{
t=t*(i-1)/i;
while(p%i==0)
p=p/i;
if(a[p]!=1)
{
t=t*(p-1)/p;
break;
}
}
i++;
}
return t;
}
int main()
{
int h;
long n,p,q;
long long nr;
ifstream fin(input);
ofstream fout(output);
fin>>n;
a[1]=1;
nr=1;
for(p=2;p<=n;p++)
{
if(a[p]!=1)
{
nr+=2*(p-1);
if(p<sqrt(n))
for(q=p+p;q<=n;q=q+p)
a[q]=1;
}
else
nr+=2*tot(p);
}
fout<<nr<<"\n";
fin.close();
fout.close();
return 0;
}