# Algorithmen und Datenstrukturen: Blatt 9
## Aufgabe 1
### 1a)
#### i)
Pseudocode:
```java=
setTime(int x)
Button[] t = {25, 10, 5, 1}
List sequence
int remaining = x
for (int i = 0) to 3 do
if(remaining >= t[i]) then
int j = |_x/t[i]_|
remaining = remaining - j*x
while(j > 0) do
sequence.add(t[i])
j--
return sequence
```
##### ii)
Der Algorithmus terminiert, da die kleinste Taste t[4] 1 Sekunde liefert
und nur ganzzahlige Sekunden benötigt werden.
### 1b)
Gegeben: eine Mikrowelle mit den Tasten **[10][7][3][1]**.
Beispiel: **x = 25**.
Vorgehen bei dem Algorithmus aus Aufgabe 1a) liefert die Sequenz: **[10,10,3,1,1]**.
Die optimale Sequenz: **[10,7,7,1]**.
###### tags: `Algorithmen und Datenstrukturen` `Informatik` `Uni`