Cod sursa(job #406476)

Utilizator vanciokCiouca Eugen Alexandru vanciok Data 1 martie 2010 16:02:15
Problema Fractii Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

int cmmdc( int a, int b) 
{
    if((!a) || (!b)) return a+b;
    if(a>b) return cmmdc(a%b,b);
    return cmmdc(a,b%a); 
}

int main ()
{
    FILE *f=fopen ("fractii.in","r");
    FILE *g=fopen ("fractii.out","w");
    
    int n,i,j,k=0;
    int *x=(int *)malloc(1000000*sizeof(int));
    
    fscanf (f, "%d", &n);
    for (i=1;i<=n;i++)
        x[i]=i;
    for (i=4;i<=n;i++)
        if (x[i]%2==0 || x[i]%3==0 || x[i]%5==0) x[i]=0;
    for (i=1;i<=n;i++)
        if (x[i]==0) k++;
    for (i=1;i<=n;i++)
        for (j=1;j<=n;j++)
            if (x[i]!=0 && x[i]!=x[j] && cmmdc(x[i],x[j])==1) k++;
    k++;
    fprintf (g, "%d", k);
    
    fclose (f);
    fclose (g);
    return 0;
}