Pagini recente » Cod sursa (job #3286471) | Cod sursa (job #757960) | Cod sursa (job #2933961) | Cod sursa (job #2713005) | Cod sursa (job #408176)
Cod sursa(job #408176)
#include <fstream>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
#define nmax 2000001
int A,B,M;
int Q[nmax],k,pre[nmax];
int t[nmax];
#define Q (Q-1)
int cmmdc(int x,int y)
{
if(y==0)
return x;
return cmmdc(y,x%y);
}
void scrie(int n)
{
if(n==0)
return;
scrie(pre[n]);
g<<t[n];
}
void coada()
{
int i,x;
Q[++k]=1;
t[k]=1;
for(i=1;i<=k;i++)
{
x=Q[i];
Q[++k]=x*10%M;
x*=10;
x%=M;
pre[k]=i;
t[k]=0;
if(x==0)
{
scrie(k);
return;
}
Q[++k]=(x+1)%M;
++x;
x%=M;
pre[k]=i;
t[k]=1;
if(x==0)
{
scrie(k);
return;
}
}
}
int main()
{
f>>A>>B;
M=A*B/cmmdc(A,B);
coada();
return 0;
}