Cod sursa(job #58600)

Utilizator rayvianPricope Razvan rayvian Data 6 mai 2007 15:27:16
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
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(divizor(k,j)==1)
      {
        nr_fractii+=2;
      }
      j++;
      k--;
    }
	}
	for(i=3; i<=n-1; i++)
	{
		j=n;
		k=i;
		while(j>k)
		{
      if(divizor(k,j)==1)
      {
        nr_fractii+=2;
      }
      j--;
      k++;
    }
	}
	fprintf(fdeschis,"%d",nr_fractii);
	fclose(fdeschis);
	fclose(f);
  return 0;
}