Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Lösungsversuch Miniklausur WS 2019/20
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungNächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
pruefungen:bachelor:aud:loesung-miniklausur-19 [17.02.2020 17:02] – kat04 | pruefungen:bachelor:aud:loesung-miniklausur-19 [11.06.2020 12:23] – SeBi | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
===== Lösungsversuch Miniklausur WS 2019/20 ===== | ===== Lösungsversuch Miniklausur WS 2019/20 ===== | ||
(sehr unsicher, kann aber als Diskussionsgrundlage genutzt werden) | (sehr unsicher, kann aber als Diskussionsgrundlage genutzt werden) | ||
+ | |||
+ | ==== Aufgabe 1 (Wissensfragen) ==== | ||
+ | 1) 1&2 | ||
+ | |||
+ | 2) 2&3 | ||
+ | |||
+ | 3) 3&4 | ||
+ | |||
+ | |||
==== Aufgabe 2 (ADT) ==== | ==== Aufgabe 2 (ADT) ==== | ||
Zeile 100: | Zeile 109: | ||
</ | </ | ||
+ | |||
+ | |||
+ | ==== Aufgabe 4 (Memoization und DP) ==== | ||
+ | **a)** | ||
+ | <code java> | ||
+ | long facMem(int k, long[] fs) { | ||
+ | if (k <= 0) | ||
+ | return 1; | ||
+ | if (fs[k] > 0) | ||
+ | return fs[k]; | ||
+ | return k * facMem(k - 1, fs); | ||
+ | } | ||
+ | |||
+ | static long multiFacMem(int k, int... ks) { | ||
+ | long div = 1; | ||
+ | long[] arr = new long[k + 1]; | ||
+ | for (int ki : ks) | ||
+ | div *= facMem(ki, arr); | ||
+ | return facMem(k, arr) / div; | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | **b)** | ||
+ | <code java> | ||
+ | |||
+ | </ | ||