Cod sursa(job #2250536)

Utilizator Panescu_StefanPanescu Stefan Panescu_Stefan Data 30 septembrie 2018 14:35:54
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.38 kb
#include <iostream>
#include <fstream>
#include <math.h>

using namespace std;

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

int euclid(int a, int b)
{
    if(b != 0)
        return euclid(b, a%b);
    else
        return a;
}

int main()
{
    int N;
    long ct = 0;
    fin >> N;

    int i = 0, j = 0;

    int ciur[N];
    for(i = 0; i <= N; i++)
        ciur[i] = true;
    i = 0;
    ///////////////////////////////////////////////////////////
    while (i <= ((int)sqrt(N) + 1))
    {
        if(i == 0 || i == 1)
            i++;
        else if(ciur[i]==true)
        {
            for(j = i + i; j <= N; j+=i)
            {
                ciur[j] = false;
            }
            i++;
        }
        else
            i++;
    }
    ciur[0] = false;

    /////////////////////////////////////////////////

    for(i = 1; i <= N; i++)
    {
        for(j = 1; j <= N; j++)
        {
            if(i == j)
            {
                continue;
            }
            else if(i%2 == 0 && j%2 == 0)
            {
                continue;
            }
            else if(ciur[i] == true && ciur[j] == true && i != j)
            {
                ct++;
            }
            else if(euclid(i,j) == 1)
            {
                ct++;
            }
        }
    }
    fout << ct;



    return 0;
}