Cod sursa(job #1126427)

Utilizator alexsoadAlex O alexsoad Data 26 februarie 2014 23:16:46
Problema Fractii Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 1.27 kb
#include <stdio.h>
#include <stdlib.h>

long long solution(int N);

long long solution(int N)
{
   long long totalSum = 0;
   int i, j;
   int aux;

   if (N == 1)
   {
       return 1;
   }
   else if (N == 2)
   {
       return 3;
   }
   else
   {
       for (i = 2; i < N; i++)
       {
           for (j = i + 1; j <= N; j++)
           {    
                aux = j % i;
                if (aux == 1)
                {
                    totalSum += 2;
                }
                else if ( (aux != 0) && (j % aux != 0) && (i % aux != 0) )
                {
                    totalSum += 2;
                }
           }
       }
   }

   // add also all fractions containing "1" and "1/1"
   totalSum += ((N - 1)* 2 + 1);

   printf("%ld\n", totalSum);

   return totalSum;
}

int main(void)
{
   FILE* fr = NULL;
   FILE* fw = NULL;

   char nrString[20] = {0};
   int nrInt;

   fr = fopen ("fractii.in", "r");
   fw = fopen ("fractii.out", "w");

   if ( (NULL == fr) || (NULL == fw) )
     return -1;

   fgets (nrString, sizeof(nrString), fr);
   nrInt = atoi(nrString);

   snprintf(nrString, sizeof(nrString), "%lld", solution(nrInt) );

   fputs(nrString, fw);
 
   fclose(fr);
   fclose(fw);

   return 0;
}