Cod sursa(job #2582918)

Utilizator Senth30Denis-Florin Cringanu Senth30 Data 17 martie 2020 15:09:53
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
#define MAX 131072
#define MOD 666013
#define INF 2100000000
#define fx first
#define fy second

using namespace std;
const int NMAX = 1000010;

double prim[NMAX], x, N;
long long ans;

int main(){

    freopen("fractii.in", "r", stdin);
    freopen("fractii.out", "w", stdout);

    cin >> N;
    for(int i = 2; i <= N; i++)
        prim[i] = i;
    for(int i = 2; i <= N; i++)
        if(prim[i] == i){
            prim[i]--;
            x = i;
            for(int j = 2 * i; j <= N; j += i)
                prim[j] *= 1 - 1 / x;
        }
    for(int i = 1; i <= N; i++)
        ans += prim[i];
    printf("%lld", 2 * ans + 1);

    return 0;
}