Cod sursa(job #115312)

Utilizator AlxCojocaru Alexandru Alx Data 16 decembrie 2007 12:08:39
Problema Multiplu Scor 20
Compilator cpp Status done
Runda preONI 2008, Runda 2, Clasa a 10-a Marime 0.64 kb
#include <stdio.h>
using namespace std;
int m[100],da=0,nr=1;
long d;
void back(int k)
{
 if (k==0)
 {
  int i,t=0;
  for (i=m[0];i>0;i--)
     t=(t*10+m[i])%d;
  if (!t)
   da=1;
 }
 else
 {
  if (k!=nr)
  {
   m[k]=0;
   back(k-1);
  }
  if (!da)
  {
   m[k]=1;
   back(k-1);
  }
 }
}
int main()
{
 freopen("multiplu.in","r",stdin);
 freopen("multiplu.out","w",stdout);
 long a,b,i;
 scanf("%ld %ld\n",&a, &b);
 long x=a,y=b;
 d=a%b;
 while (d)
 {
  a=b;
  b=d;

  d=a%b;
 }
 d=(x*y)/b;
 while (!da)
 {
  m[0]=nr;
  back(nr);
  nr++;
 }
 for (i=m[0];i>0;i--)
  printf("%d",m[i]);
 printf("\n");
}