[Algorytm] dodawanie, mnożenie

hoppey
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 17 mar 2020, o 19:19
Płeć: Mężczyzna
wiek: 20

[Algorytm] dodawanie, mnożenie

Post autor: hoppey » 17 mar 2020, o 19:34

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.
Rekrutacja Instytut Matematyczny, Uniwersytet Wrocławski (gif)

Dudenzz
Użytkownik
Użytkownik
Posty: 92
Rejestracja: 8 mar 2009, o 18:21
Płeć: Mężczyzna
Pomógł: 19 razy

Re: [Algorytm] dodawanie, mnożenie

Post autor: Dudenzz » 2 kwie 2020, o 17:56

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?

ODPOWIEDZ