Предмет: Информатика, автор: danilnikov789

У исполнителя Калькулятор две команды
1 прибавить 1
2 прибавить 2
Первая из них увеличивает число на экране на 1, вторая на 3.Сколько разных чисел можно получить из числа 2 с помощью программы, каторая содержит ровно 10 команд?

Ответы

Автор ответа: shpaler2k16
0

Ответ:

11.

Объяснение:

Написал программу, на разных тестовых данных ответ соответствовал кол-ву команд + 1, при условии, что ветвление на 2 действия и они идентичны по природе.

Получились такие числа:

12 14 16 18 20 22 24 26 28 30 32. size = 11

По другому обосновать не могу.


danilnikov789: спасибо
danilnikov789: а можете ли вы программный код программы скинуть
shpaler2k16: #include
#include
using std::cin;
using std::cout;
using std::vector;
vector vec_res;
const int end = 10, inc1 = 1, inc2 = 3;

void calc(int N, int inc, int number)
{
if (N > end)
{
vec_res.push_back(number);
return;
}
number += inc;
calc(N + 1, inc1, number);
calc(N + 1, inc2, number);
return;
}
shpaler2k16: void delTheSame()
{
for(int i = 0; i < vec_res.size(); i++)
for (int j = i + 1; j < vec_res.size(); j++)
if (vec_res[i] == vec_res[j])
{
vec_res.erase(vec_res.begin() + j);
j = i + 1;
}
}
void main()
{
calc(0,0,2);
delTheSame(); delTheSame();
for (int i = 0; i < vec_res.size(); i++)
cout << vec_res[i] << " ";
cout <<"\nCount: " << vec_res.size() << "\n";
cin.get(); cin.get();
}
shpaler2k16: там где Include не скопировалось. и
shpaler2k16: iostream и vector
Похожие вопросы
Предмет: Алгебра, автор: Аноним