Pagini recente » Cod sursa (job #111451) | Cod sursa (job #2831549) | Cod sursa (job #664112) | Cod sursa (job #113230) | Cod sursa (job #113780)
Cod sursa(job #113780)
#include<fstream.h>
#include<math.h>
ifstream f("fractii.in");
ofstream g("fractii.out");
long int n,a[1000001];
int prim(int k)
{
int d;
if(k==0 || k==1) return 0;
for(d=2;d<=k/2;d++)
if(k%d==0) return 0;
return 1;
}
int main()
{
long int i,j,p=0;
f>>n;
a[1]=n;
for(i=2;i<=n;i++)
{
a[i]=n;
if(prim(i)) a[i]=a[i]-n/i;
else for(j=2;j<=sqrt(i);j++)
if(i%j==0 && prim(j))
if(j!=sqrt(i) && (i/j)%j!=0) a[i]=a[i]-(n-a[j])-(n-a[i/j])+1;
else a[i]=a[j];
}
for(i=1;i<=n;i++)
p=p+a[i];
g<<p;
f.close();
g.close();
}