Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)
Сложение одноразрядных двоичных чисел выполняется по следующим правилам:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10
В последнем случае, при сложении двух единиц, происходит переполнение младшего разряда, и единица переносится в старший разряд. Переполнение возникает в случае, если сумма равна основанию системы счисления (в данном случае это число 2) или больше его (для двоичной системы счисления это не актуально).
Сложим для примера два любых двоичных числа:
1101
+ 101
10010
Вычитание
Вычитание одноразрядных двоичных чисел выполняется по следующим правилам:
0 - 0 = 0
1 - 0 = 1
0 - 1 = (заем из старшего разряда) 1
1 - 1 = 0
Пример:
1110
- 101
1001
Умножение
Умножение одноразрядных двоичных чисел выполняется по следующим правилам:
0 * 0 = 0
1 * 0 = 0
0 * 1 = 0
1 * 1 = 1
Пример:
1110
* 10
+ 0000
1110
11100
Деление
Деление выполняется так же как в десятичной системе счисления:
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)Сложение одноразрядных двоичных чисел выполняется по следующим правилам:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10
В последнем случае, при сложении двух единиц, происходит переполнение младшего разряда, и единица переносится в старший разряд. Переполнение возникает в случае, если сумма равна основанию системы счисления (в данном случае это число 2) или больше его (для двоичной системы счисления это не актуально).
Сложим для примера два любых двоичных числа:
1101
+ 101
10010
Вычитание
Вычитание одноразрядных двоичных чисел выполняется по следующим правилам:
0 - 0 = 0
1 - 0 = 1
0 - 1 = (заем из старшего разряда) 1
1 - 1 = 0
Пример:
1110
- 101
1001
Умножение
Умножение одноразрядных двоичных чисел выполняется по следующим правилам:
0 * 0 = 0
1 * 0 = 0
0 * 1 = 0
1 * 1 = 1
Пример:
1110
* 10
+ 0000
1110
11100
Деление
Деление выполняется так же как в десятичной системе счисления:
1110 | 10
|
10 | 111
11
10
10
10
0