Cod sursa(job #199305)

Utilizator manuelciosiciManuel R. Ciosici manuelciosici Data 17 iulie 2008 20:38:42
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream.h>

int cmmdc(long a, long b)
{  
	if(a!=1)
  {long r;
   while(b)
   {	r=a%b;
      a=b;
      b=r;
   }
   return a;}
   else {
        return 1;
   }
}

int main()
{	long n, p=1, q=1;
	unsigned int nr_fractii=0;
   ifstream f("fractii.in");
   ofstream f2("fractii.out");
   // ia numarul
   f>>n;
   /* fractia e de forma p/q, pentru q=1, toate sunt reductibile, deci q porneste de la 2
      daca q e divizibil cu 2, atunci p merge doar pe nre impare, toate fractiile cu nrele pare sunt simplificabile 
   */
           for(q=1;q<=n;q++)
           if(q%2==0)
           { 	for(p=1;p<=n; p+=2)
           			if(cmmdc(p,q)==1)
              			nr_fractii++;}
              else
              	{//nr_fractii+=q-1;
                for(p=1;p<=n; p++)
           			if(cmmdc(p,q)==1)
              			nr_fractii++;}
           f2<<nr_fractii;
   
   return 0;
}