Pagini recente » Cod sursa (job #519914) | Cod sursa (job #1223786) | Cod sursa (job #2014516) | Cod sursa (job #2014513) | Cod sursa (job #1900147)
#include<bits/stdc++.h>
#define lsb(i) (i&(-i))
using namespace std;
int dp[(1<<20)+5],a,b,m,pwr[25],loga[(1<<20)+5],l,v[25],dv=0;
int cmmmc(int a,int b)
{
int x=a,y=b;
int r=a%b;
while(r)
{
a=b;b=r;
r=a%b;
}
return ((x*y)/b);
}
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%d%d",&a,&b);
m=cmmmc(a,b);
dp[0]=0;
pwr[0]=1;
for(int i=1;i<=20;i++)
{
pwr[i]=(pwr[i-1]*10)%m;
}
loga[1]=0;
for(int i=1;i<=(1<<20);i++)
{
loga[i]=loga[i>>1]+1;
}
for(int mask=1;mask<=(1<<20);mask++)
{
l=lsb(mask);
dp[mask]=(dp[mask-l]+pwr[loga[l]])%m;
}
for(int mask=1;mask<=(1<<20);mask++)
{
if(!dp[mask])
{
m=mask;
while(m)
{
v[++dv]=m%2;
m/=2;
}
reverse(v+1,v+dv+1);
for(int i=1;i<=dv;i++) printf("%d",v[i]);
return 0;
}
}
return 0;
}