Pagini recente » Cod sursa (job #2466560) | Cod sursa (job #1030109) | Cod sursa (job #1926737) | Cod sursa (job #695140) | Cod sursa (job #1977418)
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
bool x[1001];
int prim[501],nr;
void ciur()
{
int i,j;
for(i=2;i<=1001;i++)
{
if(x[i]==0)
{
nr++;
prim[nr]=i;
for(j=i+i;j<=1001;j+=i)
x[j]=1;
}
}
}
int main()
{
int n,i,p,s=0,j,copie;
f>>n;
ciur();
for(i=1;i<=n;i++)
{
p=i;
copie=i;
for(j=1;j<=nr and prim[j]*prim[j]<=copie;j++)
{
if(copie%prim[j]==0)
{
copie/=prim[j];
p*=(prim[j]-1);
p/=prim[j];
}
while(copie%prim[j]==0)
copie/=prim[j];
}
if(copie>1)
{
p*=(copie-1);
p/=copie;
}
s+=p;
}
g<<2*s-1;
return 0;
}