Cod sursa(job #115057)

Utilizator mihai0110Bivol Mihai mihai0110 Data 16 decembrie 2007 10:33:34
Problema Multiplu Scor 10
Compilator cpp Status done
Runda preONI 2008, Runda 2, Clasele 11-12 Marime 0.63 kb
#include<stdio.h>
FILE *f=fopen("multiplu.in","r");
FILE *g=fopen("multiplu.out","w");
long a,b,lcm,bcd,i,x;
int A[10000];
long gcd(long a,long b)
{
if(b==0)
return a;
else
return gcd(b, a%b);
}
long mod(int A[], long B)
{
			long i, t = 0;
			for (i = A[0]; i > 0; i--)
							t = (t * 10 + A[i]) % B;
			return t;
}
int main(void)
{
fscanf(f,"%ld%ld",&a,&b);
bcd=gcd(a,b);
lcm=(a*b)/bcd;
for(i=1;i<=2147483647;i++)
{
x=i;
A[0]=0;
while(x)
{
A[0]++;
A[A[0]]=x%2;
x/=2;
}
if(mod(A, lcm)==0)
{
for(i=A[0];i>0;i--)
fprintf(g,"%d",A[i]);
break;
}
}
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}