Pagini recente » Cod sursa (job #1399841) | Cod sursa (job #1321439) | Cod sursa (job #2136037) | Cod sursa (job #1319140) | Cod sursa (job #1092793)
/// Craciun Catalin
/// Multiplu
/// PreONI 2008, clasa a X-a, Runda 2
#include <fstream>
#include <iostream>
#include <climits>
#define max(a,b) ((a>b)?(a):(b))
#define max(a,b) ((a<b)?(a):(b))
#define LMax 8
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
long a,b;
int C[LMax];
long rez=LONG_MAX;
void gasit(int lenght)
{
long x=0;
for (int i=1;i<=lenght;i++)
x=x*10+C[i];
if (x%a==0 && x%b==0 && x<rez)
rez=x;
}
void solve(int lenght)
{
int k=1;
bool ok;
C[k]=-1;
while (k>0)
{
ok=0;
while (C[k]<1 && !ok)
{
C[k]++;
if (!C[1])
ok=0;
else
ok=1;
}
if (!ok)
k--;
else
if (k==lenght)
gasit(lenght);
else
{
k++;
C[k]=-1;
}
}
}
int main()
{
f>>a>>b;
f.close();
for (int i=1;i<LMax;i++)
solve(i);
g<<rez<<'\n';
g.close();
return 0;
}