Pagini recente » Cod sursa (job #76816) | Cod sursa (job #939758) | Cod sursa (job #143275) | Cod sursa (job #62242) | Cod sursa (job #1802742)
#include<cstdio>
#include<queue>
#include<vector>
using namespace std;
queue<int> q;
vector<int> v;
void afisare(int k)
{int x,i;
x=1;
while(x*2<=k)
x*=2;
while(x)
{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,x,r,i,l;
scanf("%d%d",&a,&b);
r=1;
x=a*b;
while(r)
{r=a%b;
a=b;
b=r;
}
x/=a;
if(x==1)
{printf("1");
return 0;
}
q.push(1);
v.push_back(1);
l=1;
while(!q.empty())
{l++;
q.push((q.front()*10)%x);
if((q.front()*10)%x==0)
{afisare(l);
return 0;
}
l++;
q.push((q.front()*10+1)%x);
if((q.front()*10+1)%x==0)
{afisare(l);
return 0;
}
q.pop();
}
}