File: KOMBI.PS of Tape: Various/Decus/decus-3
(Source file text) 

PROGRAM KOMBINATIONEN(INPUT,OUTPUT);

  VAR   I,K,N: INTEGER;
        ALL: BOOLEAN;
        Z: ARRAY[0..9] OF INTEGER;

  PROCEDURE PRINT;
    VAR I: INTEGER;
    BEGIN
        FOR I := 1 TO K DO WRITE(Z[I]:1); WRITE(" ":2)
    END;

BEGIN
    READ(N,K);
    Z[0] := -1; ALL := FALSE;
    FOR I := 1 TO K DO Z[I] := I;
    REPEAT
        PRINT;
        I := K;
        WHILE Z[I] = N-K+I DO I := I - 1;
        ALL := I=0;
        Z[I] := Z[I] + 1;
        FOR I := I+1 TO K DO Z[I] := Z[I-1] + 1
    UNTIL ALL;
    WRITELN; WRITELN
END.