--- title: Ethiopian multiplication id: 599d1566a02b571412643b84 challengeType: 5 videoUrl: '' localeTitle: Эфиопское умножение --- ## Description

Эфиопское умножение - это метод умножения целых чисел, использующий только добавление, удвоение и уменьшение пополам.

Метод:

Возьмите два числа, чтобы их умножить и записать их в верхней части двух столбцов. В левом столбце повторите половину последнего номера, отбрасывая любые остатки и записывая результат ниже последнего в том же столбце, пока не напишите значение 1. В правом столбце многократно удвоите последнее число и запишите результат ниже. остановитесь, когда вы добавите результат в ту же строку, что и в столбце слева. 1. Изучите созданную таблицу и отбросьте любую строку, где значение в левом столбце четное. Суммируйте значения в правой колонке, которые останутся для получения результата умножения исходных двух чисел вместе

Например: 17 × 34

17 34

Половина первого столбца:

17 34

8

4

2

1

Удвоение второй колонки:

17 34

8 68

4 136

2 272

1 544

Stratch-out rows, чья первая ячейка четная:

17 34

8 68

4 136

2 272

1 544

Суммируйте оставшиеся числа в правом столбце:

17 34

8 -

4 ---

2 ---

1 544

====

578

Так 17, умноженное на 34, по эфиопскому методу - 578.

Задача:

Задача состоит в том, чтобы определить три названные функции / методы / процедуры / подпрограммы:

один на половину целого числа, один для двойного целого числа, и один, чтобы указать, является ли целое четным.

Используйте эти функции для создания функции, которая делает эфиопское умножение.

## Instructions
## Tests
```yml tests: - text: eth_mult - это функция. testString: 'assert(typeof eth_mult === "function", "eth_mult is a function.");' - text: 'eth_mult(17,34) должен вернуть 578 .' testString: 'assert.equal(eth_mult(17, 34), 578, "eth_mult(17,34) should return 578.");' - text: 'eth_mult(23,46) должен вернуть 1058 .' testString: 'assert.equal(eth_mult(23, 46), 1058, "eth_mult(23,46) should return 1058.");' - text: 'eth_mult(12,27) должен вернуть 324 .' testString: 'assert.equal(eth_mult(12, 27), 324, "eth_mult(12,27) should return 324.");' - text: 'eth_mult(56,98) должен вернуть 5488 .' testString: 'assert.equal(eth_mult(56, 98), 5488, "eth_mult(56,98) should return 5488.");' - text: 'eth_mult(63,74) должен вернуть 4662 .' testString: 'assert.equal(eth_mult(63, 74), 4662, "eth_mult(63,74) should return 4662.");' ```
## Challenge Seed
```js function eth_mult (a, b) { // Good luck! } ```
## Solution
```js // solution required ```