Cod sursa(job #2246388)

Utilizator sorgeTrifescu Stefan-Octavian sorge Data 27 septembrie 2018 01:20:32
Problema Fractii Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <stdio.h>
#include <stdlib.h>
int cmmdc(int a,int b){

    if(a==0)
        return b;
    if(b==0)
        return a;

    while(a!=b){
        if(a>b)
            a-=b;
        else b-=a;
    }
    return a;
}
int main()
{
    int n=0,err=0,i=0,j=0,contor=1;
    FILE*fp;
    fp=fopen("fractii.in","r");
    if(fp==NULL)
        perror("Eroare la deschiderea fisierului pentru citire!");

    err=fscanf(fp,"%d",&n);
    if(err==-1)
        perror("Eroare la citire!");

    fclose(fp);

    for(i=1;i<=n;++i)
        if(i%2==0){
            for(j=i+1;j<=n;j+=2)
                if(cmmdc(i,j)==1)
                    contor+=2;
        }
        else{
            for(j=i+1;j<=n;++j)
                if(cmmdc(i,j)==1)
                    contor+=2;
        }

    fp=fopen("fractii.out","w");
    if(fp==NULL)
        perror("Eroare la deschiderea fisierului pentru scriere!");

    fprintf(fp,"%d",contor);
    fclose(fp);





   return 0;
}