Pagini recente » Cod sursa (job #2788098) | Cod sursa (job #1263880) | Cod sursa (job #2596688) | Cod sursa (job #2503261) | Cod sursa (job #117138)
Cod sursa(job #117138)
#include<stdio.h>
#define N 2000000
int a,b,m,c[N],use0[N],use1[N];
int cmmmc(int x,int y)
{
int r,cx,cy;
cx=x;
cy=y;
while(y)
{
r=x%y;
x=y;
y=r;
}
return cx*cy/x;
}
int gasit_0(int x,int sf)
{
int i;
for(i=1;i<=sf;++i)
if(c[i]%m==(x*10)%m)
return 0;
return 1;
}
int gasit_1(int x,int sf)
{
int i;
for(i=1;i<=sf;++i)
if(c[i]%m==(x*10+1)%m)
return 0;
return 1;
}
void solve()
{
int ic,sf;
m=cmmmc(a,b);
c[1]=1;
ic=sf=1;
while(ic<=sf)
{
/*if(gasit_0(c[ic],sf))
c[++sf]=c[ic]*10+0;
if(gasit_1(c[ic],sf))
c[++sf]=c[ic]*10+1;
*/
if(!use0[(c[ic]*10)%m])
{
c[++sf]=c[ic]*10+0;
use0[(c[ic]*10)%m]=1;
}
if(!use1[(c[ic]*10+1)%m])
{
c[++sf]=c[ic]*10+1;
use1[(c[ic]*10+1)%m]=1;
}
if(c[ic]%m==0)
{
printf("%d\n",c[ic]);
return;
}
ic++;
}
}
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%d%d",&a,&b);
solve();
return 0;
}