algorithm "russian peasant"

6
MNOŻENIE ROSYJSKICH CHŁOPÓW #KURS Algorytmy i Struktury Danych by Mirsan

Upload: mirsan7

Post on 06-Aug-2015

313 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Algorithm "Russian peasant"

MNOŻENIE ROSYJSKICH CHŁOPÓW

#KURS Algorytmy i Struktury Danych by Mirsan

Page 2: Algorithm "Russian peasant"

CiekawostkaLegenda głosi, że algorytm został wynaleziony przez etnografów badających Syberię. Uwcześni mieszkańcy tamtych ziem, mieli w taki właśnie sposób mnożyć w pamięci.

Page 3: Algorithm "Russian peasant"

Opis algorytmu:1. Zapisujemy po jednej stronie liczby dzielone przez 2,A po drugiej razy 2.2. Gdy osiągniemy jedynkę wykreślamy parzyste z pierwszej kolumny.3. Sumujemy drugą kolumnę.

Przykład

Jak to działa?

132 * 17 = ?

Page 4: Algorithm "Russian peasant"

Przykład

Jak to działa?

132 * 17 = ?

132 / 266 / 233 / 216 / 28 / 24 / 22 / 21

17 * 234 * 268 * 2136 * 2272 * 2544 * 21088 * 22176

Opis algorytmu:1. Zapisujemy po jednej stronie liczby dzielone przez 2,A po drugiej razy 2.2. Gdy osiągniemy jedynkę wykreślamy parzyste z pierwszej kolumny.3. Sumujemy drugą kolumnę.

Page 5: Algorithm "Russian peasant"

Przykład

Jak to działa?

132 * 17 = ?

132 / 266 / 233 / 216 / 28 / 24 / 22 / 21

17 * 234 * 268 * 2136 * 2272 * 2544 * 21088 * 22176

Opis algorytmu:1. Zapisujemy po jednej stronie liczby dzielone przez 2,A po drugiej razy 2.2. Gdy osiągniemy jedynkę wykreślamy parzyste z pierwszej kolumny.3. Sumujemy drugą kolumnę.

Page 6: Algorithm "Russian peasant"

Opis algorytmu:1. Zapisujemy po jednej stronie liczby dzielone przez 2,A po drugiej razy 2.2. Gdy osiągniemy jedynkę wykreślamy parzyste z pierwszej kolumny.3. Sumujemy drugą kolumnę.

Przykład

Jak to działa?

132 * 17 = ?

132 / 266 / 233 / 216 / 28 / 24 / 22 / 21

17 * 234 * 268 * 2136 * 2272 * 2544 * 21088 * 22176+

2244