Cod sursa(job #2334817)

Utilizator alin_uAlin Ungureanu alin_u Data 3 februarie 2019 09:03:33
Problema Fractii Scor 0
Compilator c-64 Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <stdio.h>
#include <math.h>

unsigned int N;
unsigned int C; //counts the irreducible fractions

#define True  (1==1)
#define False (1==0)

unsigned char irreducible(unsigned int n, unsigned int m)
{
    register unsigned int i;
    unsigned int divMax = (unsigned int)sqrt(m);

    if (m % n == 0)
    {
        return False;
    }

    for (i = 2; i <= divMax; ++i)
    {
        if (n % i == 0 && m % i == 0)
        {

            return False;
        }
    }

    return True;
}

int main(void)
{
    register unsigned int i, j;
    FILE * fp;
    C = 0;
    //read input
    fp = fopen("fractii.in", "r");
    i = fscanf(fp, "%d", &N);
    fclose(fp);

    for (i = 2; i <= N; ++i)
    {
        for (j = i + 1; j <= N; ++j)
        {
            if (irreducible(i, j))
            {
                //printf("irreductible %d/%d\n", i, j);
                ++C;
            }
        }
    }
    C = C * 2;

    C += N + N - 1;

    //write result
    fp = fopen("fractii.out", "w");
    fprintf(fp, "%d", C);
    fclose(fp);

    return 0;
}