Cod sursa(job #1663143)

Utilizator pas.andreiPopovici Andrei-Sorin pas.andrei Data 25 martie 2016 16:10:06
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <utility>
#include <algorithm>
#include <functional>
#include <string>
#include <cstring>
#include <cmath>
#include <map>
#include <set>
#include <bitset>
#include <stack>
#include <iomanip>
#define MOD 1000000000
#define NMAX 1000005
#define INF 0x3f3f3f3f
#define pb push_back

using namespace std;

typedef pair<int, int> pii;

ifstream fin("fractii.in");
ofstream fout("fractii.out");

int sp[NMAX],nrdiv[NMAX];

int main() {
    int i,j,n,nr=0;
    fin>>n;

    for(i=1;i<=n;++i)
        nrdiv[i]=i-1;

    for(i=1;i<=n;++i) {
        for(j=i+i;j<=n;j+=i)
            nrdiv[j]-=nrdiv[i];
    }

    for(i=1;i<=n;++i) {
        nr+=nrdiv[i];
    }

    fout<<2*nr+1LL;

    return 0;
}