Pagini recente » Cod sursa (job #1326922) | Cod sursa (job #3280722) | Cod sursa (job #2293811) | Cod sursa (job #1614177) | Cod sursa (job #592963)
Cod sursa(job #592963)
#include<stdio.h>
#include<queue>
#define N 2000002
using namespace std;
queue<int> q;
int a,b,cif[N],u[N];
long long c;
bool ver[N];
int cmmdc(int a,int b) {
int t;
while(b) {
t=a%b;
a=b;
b=t;
}
return a;
}
int cmmmc(int a,int b) {
return (long long)a*b/cmmdc(a,b);
}
void afisare(int q) {
if(u[q]!=0)
afisare(u[q]);
printf("%d",cif[q]);
}
int main() {
long long a1,a2;
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%d%d",&a,&b);
c=cmmmc(a,b);
q.push(1); cif[1]=1; u[1]=0; ver[1]=true;
while(!ver[0]) {
a1=q.front();
q.pop();
a2=(a1*10)%c;
if(!ver[a2]) {
q.push(a2);
ver[a2]=true;
u[a2]=a1;
cif[a2]=0;
}
a2=(a2+1)%c;
if(!ver[a2]) {
q.push(a2);
ver[a2]=true;
u[a2]=a1;
cif[a2]=1;
}
}
afisare(0);
return 0;
}