Cod sursa(job #1058451)

Utilizator tntraduRadu Cebotari tntradu Data 15 decembrie 2013 16:02:02
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
using namespace std;
long long int cmmdc(long long int a,long long int b)
{
    if(!b) return a;
        else return cmmdc(b,a%b);
}

int main()
{
    bool v[1000000];
    long long int n,i,k,rez=0;
    ifstream in("fractii.in");
    in>>n;
    ofstream out("fractii.out");
    for(i = 2 ; i<=n ; i++)
    {
        if(!v[i])
        {
            for(k = i*i ; k<= n ; k+=i)
                v[k] = true;
        }
    }
    for(i = 1 ; i<=n ; i++)
    {
         if(!v[i])
         {
             rez+=i-1;
             for(k = i ; k<=n ; k++)
                if(cmmdc(i,k)== 1) rez++;
         }
         else
         {
             for(k = 1 ; k<=n ; k++)
                if(cmmdc(i,k)==1) rez++;
         }
    }
    out<<rez;
    out.close();
    in.close();
    return 0;
}