Cod sursa(job #58589)

Utilizator rayvianPricope Razvan rayvian Data 6 mai 2007 15:02:31
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
using namespace std;
int divizor(int a,int b)
{
  int x1,x2;
  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()
{
	
  fstream f,g;
	f.open("fractii.in",ios::in);
	g.open("fractii.out",ios::out);
	int n;
	f>>n;
	f.close();
	int nr_fractii=1;
	int i;
	int k,j;
	for(i=1; i<=n; i++)
	{
		j=1;
		k=i;
		while(j<k)
		{
			if((j%2!=0 && k%2!=0 )|| (j!=k))
			{
				if(divizor(k,j)==1)
				{
					nr_fractii+=2;
				}

			}
			j++; k--;
		}
	}
	for(i=2; i<=n-1; i++)
	{
		j=n;
		k=i;
		while(j>k)
		{
		 if((j%2!=0 && k%2!=0 )|| (j!=k))
		 {
				if(divizor(k,j)==1)
				{
					nr_fractii+=2;

				}
		 }
			j--;
			k++;
		}
	}
  g<<nr_fractii;
  g.close();
  return 0;
}