Cod sursa(job #2495725)

Utilizator Mihai0290Ilie Mihai-Alexandru Mihai0290 Data 19 noiembrie 2019 19:42:10
Problema Fractii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <math.h>
#include <fstream>
using namespace std;
int main()
{
    int n;
    long nr;
    ifstream file_in("fractii.in");
    ofstream file_out("fractii.out");
    file_in >>n;
    int v[100000] = {0};
    v[1] = 1;
    for(int i = 2; i < n; i++)
    {
        if(v[i] == 0)
        {
            int j = 2;
            while(i * j < n)
            {
                v[i*j] = 1;
                j++;
            }
        }
    }
    float p;
    nr = 0;
    for(int k = n; k > 1 ; k--)
    {
        p = k;
        for(int i = 2; i <= k; i++)
        {
            if(v[i] == 0)
            {
                if(k % i == 0)
                {
                    p = p * (1 - 1.0 / i);
                }
            }
        }
        //cout << "fi de " << k << " " << p << endl;
        nr += (ceil(p)*2);
    }
    nr++;
    file_out << nr;
    return 0;
}