1. Существует всего 4 способа: (1: +1; 2:*2);
1111 121 221 2111
2. Существует всего 786 способов.
Некоторые из них: 22221111111112 12221111111112
3. Существует всего 9042 способа.
Один из них: 222221111111111111111121
Из большей в меньшую, обычно делать число на основание числа, которое хотят получить, с учетом что на каждой итерации деления в столбик остатокот деление не должен превышать основание.
Например число 56 перевести в двоичную систему
56/2 = 28 (остаток 0) 28/2 =14 (остаток 0) 14/2 = 7(остаток 0) 7/2=3(остаток 1) 3/2=1 (остаток 1) Число будет состоять из остатков от деления записанных в обратном порядке 111000
425 в десятичной - это 110101001 в двоичной, 1А9 в шестнадцатиричной и 651 в восьмеричной
<u>// PascalABC.NET </u>
<u>// Версия 3.3.5 сборка 1662 (29.04.2018)</u>
begin
var m := ReadArrInteger(10);
var (o, e) := (m.Where(t -> t.IsOdd).Count, m.Where(t -> t.IsEven).Count);
Println(o > e ? 'Нечетных больше' : o = e ? 'Поровну' : 'Четных больше');
end.
<u>Пример:</u>
1 2 3 4 5 6 7 8 10 10
Четных больше