Pagini recente » Cod sursa (job #1314417) | Cod sursa (job #1878974) | Cod sursa (job #1393437) | Cod sursa (job #533448) | Cod sursa (job #2140293)
#include <cstdio>
using namespace std;
bool ok(long long t)
{
do
{
if(!(((t%10)==1)||((t%10)==0)))return 0;
t/=10;
}while(t);
return 1;
}
int v[10];
int l[10];
int nr[10];
long long putere[18];
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
int a,b,r,n;
scanf("%d%d",&a,&b);
n=a*b;
while(b)
{
r=a%b;
a=b;
b=r;
}
n/=a;
int cp=n;
int cnt=0;
do
{
l[++cnt]=cp%10;
cp/=10;
}while(cp);
if(n%2==0&&n%10!=0)v[cnt]=5;
if(n%10==0)v[cnt]=0;
if(n%10==1)v[cnt]=1;
if(n%10==3)v[cnt]=7;
if(n%10==5)v[cnt]=2;
if(n%10==7)v[cnt]=3;
if(n%10==9)v[cnt]=9;
for(r=1;r<=cnt/2;r++)
{
int aux=l[r];
l[r]=l[cnt-r+1];
l[cnt-r+1]=aux;
}
nr[cnt]=l[cnt];
putere[cnt]=1;
for(r=cnt;r>0;r--)
{
putere[r-1]=putere[r]*10;
nr[r-1]=putere[r-1]*l[r-1]+nr[r];
}
for(r=cnt-1;r>=1;r--)
{
for(int j=0;j<=9;j++)
{
int p=j*putere[r]+v[r+1];
long long t=1LL*n*p;
int x=ok(t);
if(x==1)
{
printf("%lld\n",t);
return 0;
}
}
}
return 0;
}