Strona 1 z 1

[Algorytm] dodawanie, mnożenie

: 17 mar 2020, o 19:34
autor: hoppey
Witam,
Mam problem z tymi dwoma zadaniami, które dostałem do zrobienia na przedmiocie architektura komputerów.
A oto ich treść:

Zad.1 Załóżmy, że możemy wykonywać tylko dwa działania na liczbach: dodawanie (dwuargumentowe) i mnożenie przez 2 (jednoargumentowe). Jak „najtaniej” pomnożyć daną liczbę przez 15 jeśli:
a) zarówno dodawanie jak i mnożenie przez dwa kosztuje 1 gr.
b) dodawanie kosztuje 1 gr., a mnożenie przez dwa kosztuje 2 gr.
c) dodawanie kosztuje 2 gr., a mnożenie przez dwa kosztuje 1 gr. A gdybyśmy mieli do dyspozycji jeszcze odejmowanie za 1 gr?
Proszę zwrócić uwagę na to, że w rzeczywistej sytuacji zamiast o groszach myślelibyśmy raczej o mikrosekundach w przypadku procesora do komputera stacjonarnego i mikrojouleach w przypadku procesora do komputera mobilnego (dlaczego właśnie tak?).

Zad.2 Przy założeniach, jak w zadaniu wyżej, zaproponować możliwie „tani” algorytm podnoszenia danej liczby do kwadratu.

Z góry dziękuję za pomoc.

Re: [Algorytm] dodawanie, mnożenie

: 2 kwie 2020, o 17:56
autor: Dudenzz
To zadanie można rozwiązać na kilka sposobów - np. poprzez rachunek różniczkowy metodą gradientową, metodami programowania liniowego albo metodą wyczerpującego przeszukiwania (praktycznie każdy sposób optymalizacji byłby tutaj OK). Nazwa przedmiotu - "Architektura komputerów" niewiele mówi. Czy na zajęciach były wykonywane jakieś inne, podobne zadania? Jeżeli tak, to jaki sposób był używany?