Pagini recente » Cod sursa (job #1758676) | Cod sursa (job #2677475) | Cod sursa (job #684541) | Cod sursa (job #2168719) | Cod sursa (job #2421342)
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("fractii.in");///Andrei.in
ofstream g("fractii.out");
unsigned n;
int Erath[1000010];
unsigned fractii;
int Descomp_factori_primi(unsigned n)
{ int d=2,FiN=1;
while( n > 1 )
{ int p=0;
if( d * d > n ) d=n;
while( n % d == 0 )
{ n/=d;
p++;
}
if( p > 0 ) FiN *= (d-1)*pow(d,p-1);
d++;
}
return FiN;
}
int main()
{ f>>n; fractii=1;
for(int i=1;i<=n;++i) Erath[i]=i;
for(int i=2;i<=n;++i)
if( Erath[i] == i )
fractii+=(2*Descomp_factori_primi(i));
else
for(int j=2*i;j<=n;j+=i)
Erath[j]=0;
g<<fractii;
g.close();
return 0;
}