Einzelnen Beitrag anzeigen
Alt 16.06.08, 20:07   #15 (permalink)
Scorn07
 
Registriert seit: 12.01.07
Scorn07 Leistung: Facit NTK
Likes: 0
Standard

ObjectPascal Lösung   
Code:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var global_stufen : integer;
    global_string : string;
    Stufen : Integer;

procedure Stufe(iZähler : Integer; Str : String);
  begin
    if iZähler >=2 then
    begin
       Stufe(iZähler-1, Str+ '1');
       Stufe(iZähler-2, Str+ '2');
    end else
      if iZähler = 1 then
      Stufe(iZähler-1, Str+ '1')
      else begin
       inc(global_stufen);
       global_string := global_string + Str + ' | ';
      end;
  end;

begin
  global_stufen := 0;
  writeln('Bitte Anzahl der Stufen eingeben:');
  readln(Stufen);
  Stufe(Stufen, '');
   writeln(global_string);
   writeln('Anzahl der Moeglichkeiten:');
   writeln(global_stufen);
   readln;
end.
end.


Ich hab das Problem mit einer Rekursion gelöst.

Eine Beispielausgabe:
Code:
Bitte Anzahl der Stufen eingeben:
5
11111 | 1112 | 1121 | 1211 | 122 | 2111 | 212 | 221 |
Anzahl der Moeglichkeiten:
8
//Edit1: Quelltext berichtigt
Scorn07 ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61