Cod sursa(job #1216729)
| Utilizator | Data | 5 august 2014 16:14:42 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <fstream>
#include <math.h>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
bool a[1000001];
int i,j,n,nr,p1,p;
int main()
{
f>>n;
for( i=2; i<=n/2; i++ )
if( !a[i] )
for( j=2; i*j<=n; j++ )
a[i*j]=1;
nr=1;
for( i=2; i<=n; i++)
if(!a[i])
nr+=(i-1)*2;
else
{p1=p=1;
for(j=2; j<=i/2; j++)
if( !a[j] && i%j==0 )
{
p1*=j-1;
p*=j;
}
nr+=(i*p1)/p*2; }
g<<nr;
f.close();g.close();
}
