Pagini recente » Cod sursa (job #2391381) | Cod sursa (job #2931028) | Cod sursa (job #1479553) | Cod sursa (job #1802580) | Cod sursa (job #1576113)
#include <fstream>
#include <bitset>
#define Nmax 2000005
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
bitset <Nmax> r,cif;
int q[Nmax],p[Nmax],A,B,st,dr;
void Afisare(int i)
{
if(i>0) {Afisare(p[i]);fout<<cif[i];}
}
int Cmmmc(int a,int b)
{
int r,x,y;
x=a;y=b;
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
return (x/a)*y;
}
int main()
{
fin>>A>>B;
fin.close();
A=Cmmmc(A,B);
st=1;dr=1;
q[dr]=1;
cif[1]=r[1]=1;
p[1]=0;
int x;
while(true)
{
x=q[st];
st++;
x=x*10%A;
if(r[x]==0)
{
q[++dr]=x;
r[x]=1;
cif[dr]=0;
p[dr]=st-1;
}
if(x==0) break;
x++;
if(x==A) x=0;
if(r[x]==0)
{
q[++dr]=x;
r[x]=1;
cif[dr]=1;
p[dr]=st-1;
}
if(x==0) break;
}
Afisare(dr);
fout.close();
return 0;
}