Cod sursa(job #1627779)

Utilizator cosmin_varlanVarlan Nicolae Cosmin cosmin_varlan Data 3 martie 2016 18:45:27
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <math.h>
#include <fstream>
#include <iostream>

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

int n;
int prime[1000];
int nr_prime=0;

int verifica(int i, int j)
{
    if ((i==1)||(j==1)) return true;
    if(i==j) return false;
    int V = i<j?j:i;
    int v = i>=j?j:i;

    for(int i=0; prime[i]<=V/2; i++)
        if((v%prime[i]==0)&&(V%prime[i]==0)) return false;

    return true;
}

void prime_gen()
{
    for(int i=2; i<=sqrt(n); i++)
    {
        int prim = 1;
        for(int j=0; j<nr_prime; j++)
            if (i%prime[j]==0) prim=0;
        if(prim) prime[nr_prime++] = i;
    }
}



int main()
{
    n = 1000000;
    prime_gen();

    fin >> n;
    long long count=0;

    for(int i=1; i<=n; i++) // i = numitor
        for(int j=1; j<=n; j++)
            if (verifica(i,j))
            {
                count++;
                //cout << i << "," << j << endl;
            }

    fout << count;

    return 0;
}