Cod sursa(job #1110567)

Utilizator flepion filip flep Data 18 februarie 2014 10:51:04
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>
#include <math.h>

long long gcd(long long a,long long b)
{
    long long r;

    while(r=a%b)
    {
    a=b;
    b=r;
    }
    return b;
}



long long phi(long long n)
{
    long long i,s=0;
    for(i=1;i<n;++i)
    {
        if(gcd(i,n)==1)
        ++s;
    }
    return s;
}

long long farey(long long n)
{
    if(n==1)return 2;
    else return farey(n-1)+phi(n);
}

int main()
{
    long long n,m;
    double pi;
    pi=3.141593;
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
   scanf("%lld",&n);
   if(n<10000)
   printf("%lld",2*farey(n)-3);
   else
   m=(long long)(3*n*n/(pi*pi));
   printf("%lld",2*m-3);

    return 0;
}