Cod sursa(job #115345)

Utilizator megabyteBarsan Paul megabyte Data 16 decembrie 2007 12:14:39
Problema Multiplu Scor 10
Compilator cpp Status done
Runda preONI 2008, Runda 2, Clasa a 10-a Marime 0.93 kb
#include <cstdio>
#define INF "multiplu.in"
#define OUF "multiplu.out"
#define NMAX 32
#define MIN(a,b) ((a<b)?(a):(b))
using namespace std;

unsigned long long cmmdc(unsigned long long a,unsigned long long b)
{
         unsigned long long r;
         while(b!=0)
         {
                    r=a%b;
                    a=b;
                    b=r;
         }
         return a;
}

int main()
{
    unsigned long long a,b,m,n,v[NMAX],r[NMAX],i,j,k,p,rest;
    char ok;
    FILE *in,*out;
    in=fopen(INF,"r");
    out=fopen(OUF,"w");
    fscanf(in,"%llu %llu",&a,&b);
    if(a>b) m=cmmdc(a,b);
    else m=cmmdc(b,a);
    
    n=a*b/m;
    //printf("%llu\n",n);
    ok=0;
    a=n;
    while(!ok)
    {
	ok=1;
	//printf("%llu\n",a);
	b=a;
	while(b>0)
		if(b%10>1) {ok=0;break;}
		else b/=10;
	if(!ok) a+=n;
	
    }

    fprintf(out,"%llu\n",a);
    
   fclose(in);fclose(out); 
    return 0;
}