Pagini recente » Cod sursa (job #1167136) | Cod sursa (job #3032812) | Cod sursa (job #358564) | Cod sursa (job #859332) | Cod sursa (job #392158)
Cod sursa(job #392158)
#include<stdio.h>
#define M 20000
char viz[M];
int a,b,c,prod,nr,coada[1000],num;
int cmmdc(int a, int b)
{
if (!b)
return a;
return (b,a%b);
}
void bf()
{
viz[1]=1;
num=1;
coada[0]=1;
int p=0,u=1,x,y;
while (p!=u)
{
x=coada[p++];
y=(x*10+0)%nr;
++num;
if (!y)
return;
if (!viz[y])
coada[u++]=y,viz[y]=1;
y=(x*10+1)%nr;
if (!y)
return;
if (!viz[y])
coada[u++]=y,viz[y]=1;
}
}
void solve(int num)
{
if (!num)
{
printf("1");
return;
}
if (num&1)//am adaugat 0
{
solve(num>>1);
printf("0");
}
else
{
solve(num>>1);
printf("1");
}
}
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%d%d",&a,&b);
prod=a*b;
c=cmmdc(a,b);
nr=prod/c;
bf();
solve(num);
return 0;
}