All pastes #1756543 Raw Edit

Miscellany

public text v1 · immutable
#1756543 ·published 2010-01-18 20:46 UTC
rendered paste body
/*********************************************************************
 *
 *  Aufgabe 405c
 *
 *  Schreiben Sie nun einen dynamisch rekursiven Algorithmus zur
 *  Berechnung der n-ten Q-Zahl, indem Sie die beiden Funktionen
 *
 *    void dynInit(int n, int cache[])
 *    int qRekursivDyn(int n, int cache[])
 *
 *  implementieren. Dynamische Programmierung zeichnet sich wesentlich
 *  dadurch aus, dass der Programmierer einen Cache verwendet, um
 *  wichtige Zwischenergebnisse speichern und spter wiederverwenden
 *  zu knnen.
 *
 *  Die main-Funktion ist wieder in einer anderen Datei von uns
 *  vorgegeben. Dort wird auch ein Feld der Gre n+1 zum Cachen der
 *  Q-Zahlen erstellt. In diesem Feld sollen Sie beim Index n die
 *  jeweils n-te Q-Zahl speichern. main ruft anfangs einmal dynInit
 *  auf; in dieser Funktionen fhren Sie gegebenenfalls notwendige
 *  Initialisierungen durch. Nach der Funktion dynInit ruft main die
 *  Funktion qRekursivDyn dreimal auf, jeweils mit verschiedenen
 *  Werten fr n. Zwischen den Aufrufen gibt main jeweils den Inhalt
 *  des Caches (d.h. den Inhalt des Felds) aus.
 *
 *   - Implementieren Sie die Funktion dynInit. Der Parameter n
 *     bezeichnet die grte mgliche Q-Zahl, welche im aktuellen
 *     Programmdurchlauf berechnet werden wird. Der Cache-Speicher
 *     wurde bereits reserviert; Sie sollen ihn mit
 *
 *       cache[1] = cache[2] = 1
 *
 *     und fr den Rest mit Nullen initialisieren. (Bei dieser
 *     Zhlweise wird der Speicher cache[0] nicht verwendet.)
 *
 *   - Die Funktion qRekursivDyn soll mit rekursiven Aufrufen Q-Zahlen
 *     berechnen und gleichzeitig alle (Zwischen-)Ergebnisse in einem
 *     Zwischenspeicher aufbewahren. Hat qRekursivDyn die gewnschte
 *     Q-Zahl bereits gespeichert, so soll sie diese direkt aus dem
 *     Speicher holen  ohne weitere Berechnungen.
 *
 *********************************************************************/


#include <stdio.h>


void dynInit(int n, int cache[])
{

}


int qRekursivDyn(int n, int cache[])
{

}