Cod sursa(job #2509812)

Utilizator catalin2414Popa Catalin Gabriel catalin2414 Data 14 decembrie 2019 20:33:31
Problema Fractii Scor 10
Compilator c-64 Status done
Runda Arhiva de probleme Marime 2.15 kb
#include <stdio.h>

#include<string.h>

#include<stdlib.h>

int verificare1(int i , int j){

                if( ( (i%2==0) && (j%2==0) ) ){

                        return 0;

                }else {

                        if( ( (i%3==0) && (j%3==0) ) ){

                                return 0;

                        }else {

                                if( ( (i%5==0) && (j%5==0) ) ){

                                        return 0;

                                }else{

                                        if( ( (i%7==0) && (j%7==0) ) ){

                                                return 0;

                                        }else{

                                                if( ( (i%11==0) && (j%11==0) ) ){

                                                        return 0;

                                                }

                                        }

                                }

                        }

                }

        return 1;

}

 void verificare2(int a , int b, int *pcounter){

        while(a != b){

                  if(a > b)

                          a = a - b;      

                 if(b > a)

                         b = b - a; 

        }

        if(a==1){

                *pcounter = *pcounter +1;

        }        

 }

int main(int argc, char **argv)

{

   FILE * pFilein , *pFileout;

   char nr[10] ;

   pFilein = fopen("fractii.in" , "r");

   pFileout = fopen("fractii.out" , "w");    

      int aux, i ,j,counter=0, k = 2;

   if (pFilein == NULL)

      fprintf(stderr, "Eroare! Nu am putut deschide fisierul!");

   else

      {

         fgets(nr, 7, pFilein);

	 aux = atoi(nr);

	 for( i = 1 ; i < aux + 1 ; i++){

	        for( j = k ; j < aux + 1 ; j++ ){

	                if(verificare1(i,j)==1)

                                verificare2(i,j,&counter);

	        }

	        k = k + 1;

	        }

	 }

	 counter = counter * 2 + 1;

	 fprintf( pFileout , "%d" , counter);

	 fclose(pFileout);

         fclose (pFilein);

return 0;

      }