Cod sursa(job #2081194)

Utilizator Andrei_Info1Ionescu Andrei Andrei_Info1 Data 4 decembrie 2017 12:23:18
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>

using namespace std;
int main()
{
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
    int i, j, n, v[1000005];
    long long cnt=1;
    scanf("%d", &n);

    for(i=1 ; i<=n ; i++)//Presupunem ca toate numerele sunt prime ; Fiecare nr prim P are P-1 numere cu care este prim inaintea lui
        v[i]=i-1;
    for(i=2 ; i<=n ; i++)
        for(j=i*2 ; j<=n ; j+=i)//Prin ciurul lui Eratostene scadem nr de numere cu care nu sunt prime
            v[j]=v[j]-v[i];
    for(i=1 ; i<=n ; i++)//Crestem contorul cu nr de numere prime cu numarul i * 2, pentru ca fiecare fractie ireversibila apare sub forma a/b si b/a
        cnt+=v[i]*2;

    printf("%lld", cnt);
    return 0;
}