Cod sursa(job #1414243)

Utilizator ipus1Stefan Enescu ipus1 Data 2 aprilie 2015 14:19:15
Problema Multiplu Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>
#define MAX 8000000
int v[MAX];
void afisare(int k)
	{int x,i,q;
	x=1;
	while(x*2<=k)
		x*=2;
	while(x!=0)
		{if(k>=x)
			{k-=x;
			printf("1");
			}
		else
			printf("0");
		x/=2;
		}
	}
int main ()
{freopen ("multiplu.in","r",stdin);
freopen ("multiplu.out","w",stdout);
int a,b,in,sf,x,r,k;
scanf("%d%d",&a,&b);
r=1;
x=a*b;
while(r!=0)
	{r=(a%b);
	a=b;
	b=r;
	}
x/=a;
in=1;
v[1]=1;
sf=1;
while(sf<MAX-2)
	{sf++;
	v[sf]=(v[in]*10)%x;
	if(v[sf]==0)
		{afisare(sf);
		return 0;
		}
	sf++;
	v[sf]=(v[in]*10+1)%x;
	if(v[sf]==0)
		{afisare(sf);
		return 0;
		}
	in++;
	}
return 0;
}