Cod sursa(job #60444)

Utilizator rayvianPricope Razvan rayvian Data 14 mai 2007 15:52:08
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.33 kb
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
#define divizor(a,b) {int x1;  int diviz=1;  if(a>b)  {    for(x1=1; x1<=b; x1++) {      if(a%x1==0 && b%x1==0)      {        diviz=x1;			}    }  }  else   {    for(x1=1; x1<=a; x1++)    {      if(a%x1==0 && b%x1==0)      {        diviz=x1;      }    }  }  if(diviz==1) nr_fractii+=2;}
/*int divizor(int a,int b){
  int x1;
  int diviz=1;
  if(a>b)
  {
    for(x1=1; x1<=b; x1++)
    {
      if(a%x1==0 && b%x1==0)
      {
        diviz=x1;
			}
    }
  }
  else 
  {
    for(x1=1; x1<=a; x1++)
    {
      if(a%x1==0 && b%x1==0)
      {
        diviz=x1;
      }
    }
  }
  return diviz;
}*/
int main()
{
	
  FILE *fdeschis,*f;
  fdeschis=fopen("fractii.out","w");
	f=fopen("fractii.in","r");
	int n;
	fscanf(f,"%d",&n);
	int nr_fractii=n+n-1;
	int i;
	int k,j;
	for(i=2; i<=n; i++)
	{
		j=2; 
		k=i;
		while(j<k)
		{
      if(j%2==0 && k%2==0)
      {
      } 
      else
      {
        divizor(k,j);

      }
      j++;
      k--;
    }
	}
	for(i=3; i<=n-1; i++)
	{
		j=n;
		k=i;
		while(j>k)
		{
      if(j%2==0 && k%2==0)
      {
      }
      else
      {
        divizor(k,j);
      }
      j--;
      k++;
    }
	}
	fprintf(fdeschis,"%d",nr_fractii);
	fclose(fdeschis);
	fclose(f);
  return 0;
}