Cod sursa(job #612569)

Utilizator alinhAlin H alinh Data 8 septembrie 2011 19:21:57
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>

using namespace std;

ifstream fi;
ofstream fo;

int n;
float vec[1000002];
int rez;

int main()
{
    fi.open("fractii.in");
    fi >> n;
    fi.close();
    vec[1] = 1;
    for (int i=2; i <= n; i++)
        vec[i] = i;
    for (int i = 2; i <= n; i++)
    {
        if (vec[i] == i)
        {
            int p = i;
            vec[i]--;
            for (int j = (p + p); j <= n; j += p)
                vec[j] = vec[j] * (1 - (1.0f/p));
        }
    }
    rez = 1;
    for (int i=2; i<=n; i++)
        rez += 2*vec[i];
    fo.open("fractii.out");
    fo << rez;
    fo.close();
    return 0;
}