Cod sursa(job #470591)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 14 iulie 2010 18:32:04
Problema Mins Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <cstdio>
#include <algorithm> 

using namespace std;

#define file_in "mins.in"
#define file_out "mins.out"

int a,b;

void citire()
{
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d %d", &a, &b);
}	

inline int cmmdc(int a, int b)
{
	int r;
	
	while(b)
	{
		r=a%b;
		a=b;
		b=r;
	}
	
	return a;
}

void solve()
{
	int i,j,nr=0,minim,maxim;
		
    minim=min(a-1,b-1);
    maxim=max(a-1,b-1);
	
	for (i=2;i<=minim;++i)
		 for (j=1;j<i;++j)
			 if (j==1)
				  nr++;
			 else
			 if (cmmdc(i,j)==1) nr++;                    
    nr<<=1;
			 
  for (i=minim+1;i<=maxim;++i)
	   for (j=1;j<=minim;++j)
         if (j==1)
				  nr++;
			 else
			 if (cmmdc(i,j)==1) nr++;      

	 printf("%d\n", nr+1);
		 

}

int main()
{
	citire();
	solve();
	
	fclose(stdin);
	fclose(stdout);
	
	return 0;
	
}