A large commit.
[pdp8.git] / sw / src / pascal / KOMBI.PS
diff --git a/sw/src/pascal/KOMBI.PS b/sw/src/pascal/KOMBI.PS
new file mode 100644 (file)
index 0000000..3f41b61
--- /dev/null
@@ -0,0 +1,26 @@
+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.