Pagini recente » Cod sursa (job #1817804) | Cod sursa (job #2131464) | Cod sursa (job #2077909) | Cod sursa (job #1831818) | Cod sursa (job #1796291)
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
long long c;
int i,j,k,ok,a,aa,b,bb,r,p,u,t[1000];
bitset<2000010> viz;
struct abc
{
int r,t,c; // x = restul, y = tata, z =cifra
}d[2000010];
int main()
{
f>>a>>b;
aa=a;
bb=b;
while(a!=0)
{
r=b%a;
b=a;
a=r;
}
c=aa*bb/b;
d[1].r=1;
p=u=1;
viz[1] = 1;
while(p<=u)
{
for(i=0;i<=1;i++)
{
int rnext = (d[p].r*10+i)%c;
if (viz[rnext] == 0) {
viz[rnext] = 1;
d[++u].r=rnext;
d[u].t=p;
d[u].c=i;
if(rnext==0)
{
while(u>=1)
{
t[++k]=d[u].c;
u=d[u].t;
}
g<<1;
for(i=k-1;i>=1;i--)
g<<t[i];
return 0;
}
}
}
p++;
}
return 0;
}