Cod sursa(job #115023)

Utilizator Binary_FireFlorin Pogocsan Binary_Fire Data 16 decembrie 2007 10:16:22
Problema Multiplu Scor 20
Compilator cpp Status done
Runda preONI 2008, Runda 2, Clasele 11-12 Marime 0.56 kb
#include <cstdio>

#define fin  "multiplu.in"
#define fout "multiplu.out"

int A,B,C;
unsigned long long ret;

int gcd(int a,int b)
{
	if ( !b )
		return a;
	else
		return gcd(b,a%b);
}

void go(int lev,long long nr)
{
	if ( nr != 0 && nr % C == 0 )
	{
		if ( nr < ret || ret == 0 )
			ret = nr;
		return ;
	}
	
	if ( lev == 20 )
		return;
	else
	{
		go(lev+1,nr*10);
		go(lev+1,nr*10+1);
	}
}

int main()
{
	freopen(fin,"r",stdin);
	freopen(fout,"w",stdout);

	scanf("%d%d",&A,&B);

	C = A*B / gcd(A,B);
	
//	printf("%d\n",C);
	
	go(0,0);

	printf("%lld\n",ret);

	return 0;
}