Fandom

Scratchpad

Ie/Informatyka/Algorytm mnożenia rosyjskich chłopów

< Ie | Informatyka

221,698pages on
this wiki
Add New Page
Discuss this page0 Share

Mnożenie to polega na czymś takim,Np.:

128 * 50 = ?
  128  / *2    50 / :2
  256  / *2    25 / :2
  512  / *2    12 / :2
  1024 / *2     6 / :2
  2048 / *2     3 / :2
  4096          1

Gdy już dojdziemy do cyfry jeden w prawej kolumnie, należy skreślić linie, w których w prawej kolumnie jest liczba parzysta. Patrz niżej.

128 50
   256 25
   512 12
   1024 6
   2048 3
   4096 1

Następnie nie skreślone liczby z lewej kolumny dodajemy.

128 50
  256 25
  512 12
  1024 6
  2048 3
 +4096 1
 --------
  6400

Otrzymana liczba to wynik mnożenia.
Czyli:
128 * 50 = 6400

To wszystko.
(MakedMade by XMaTreKX (Dzięki za poprawki. :D))

Albo ktoś to źle poprawił albo XMaTreKX źle zrobiłeś xD (25/2 = 12 nie 14; wynik dobry, ale źle napisane) Na maszynie RAM sie nie znam więc niech ktoś to poprawi. Janusz Joe


Rozwiązanie w Maszynie RAM

load  =0

   store 14

   read  1

   read  2

   load  2

C: jzero A

   div   =2

   mult  =-2

   add   2

   jzero B

   load  1

   add   14

   store 14

B: load  1

   mult  =2

   store 1

   load  2

   div   =2

   store 2

   jump  C

A: write 14

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.