// Меняем некоторых животных поменьше на животных побольше // Например, 7 Мартышек можно представить как 1 Слоника и 3 Мартышки monkeys += parrots / 8; parrots %= 8; elephants += monkeys / 4; monkeys %= 4; boas += elephants / 3; elephants %= 3;
// Теперь начинаем делить. Если При делении нужно располовинить какое-либо животное, // лучше просто заменить его на соответствующее животное по-меньше // Например, если канат длиной в 3 Слонёнка, то мы при делении на 2 могут возникнуть проблемы. // А вот если заменить одного слоненка на 4 Мартышек и делить уже 2 Слоников и 4 Мартышки, // то получится 1 Слоненок и 2 Мартышки elephants += 3*(boas % 2); boas /= 2; monkeys += 4*(elephants % 2); elephants /= 2; parrots += 8*(monkeys % 2); monkeys /= 2; if (parrots % 2) { flag = true; cout << "Количество попугаев НЕЧЕТНО" << endl << endl; } parrots /= 2;