Pagini recente » Cod sursa (job #355029) | Cod sursa (job #363879) | Cod sursa (job #355026) | Cod sursa (job #363882) | Cod sursa (job #355279)
Cod sursa(job #355279)
#include<fstream.h>
#include<iostream.h>
#include <stdlib.h>
long * vector= (long*) calloc ( 2000000, sizeof( long ) );
long *cif=(long*)calloc( 2000000, sizeof( long ) );
long *up=(long*)calloc( 2000000, sizeof( long ) );
ofstream fout("multiplu.out");
long cmmdc(long a,long b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
void afara(int k)
{if(k!=1)
afara(up[k]);
fout<<cif[k];
}
int main()
{long a,m,b,x,y,*r=(long*)calloc( 2000000, sizeof( long ) ),*q=(long*)calloc( 2000000, sizeof( long ) ),k,dimq,c;
ifstream f("multiplu.in");
f>>a>>b;
c=cmmdc(a,b);
m=(a*b)/c;
r[1]=1;
q[1]=1;
dimq=1;
cif[1]=1;
k=1;
while(k<=dimq)
{
x=q[k++];
y=(x*10+0)%m;
if(!r[y])
{
cif[y]=0;
up[y]=x;
q[++dimq]=y;
r[y]=y;
}
if(y==0)
break;
y=(x*10+1)%m;
if(!r[y])
{
cif[y]=1;
up[y]=x;
q[++dimq]=y;
r[y]=y;
}
if(y==0)
break;
}
f.close();
afara(0);
fout.close();
return 0;
}