Pagini recente » Cod sursa (job #296868) | Cod sursa (job #596892) | Cod sursa (job #1083048) | Cod sursa (job #306567) | Cod sursa (job #1658032)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
bool array_now[10];
vector < int > result_numbers;
void main_backtrack(short position, short chars) {
array_now[position] = 1;
if (position == chars) {
int put_in_vector = 1;
for (int i = 2; i <= chars; ++i)
if (array_now[i] == 1)
put_in_vector = put_in_vector * 10 + 1;
else
put_in_vector *= 10;
result_numbers.push_back(put_in_vector);
}
else
main_backtrack(position + 1, chars);
array_now[position] = 0;
if (position == chars) {
int put_in_vector = 1;
for (int i = 2; i <= chars; ++i)
if (array_now[i] == 1)
put_in_vector = put_in_vector * 10 + 1;
else
put_in_vector *= 10;
result_numbers.push_back(put_in_vector);
}
else
main_backtrack(position + 1, chars);
}
int main()
{
int a, b;
fin >> a >> b;
result_numbers.push_back(1);
for (int i = 2; i <= 7; ++i)
main_backtrack(2, i);
for (int i = 0; i <= result_numbers.size() - 1; ++i)
if (result_numbers[i] % a == 0 and result_numbers[i] % b == 0) {
fout << result_numbers[i];
return 0;
}
}