all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
|
|
@ -0,0 +1,51 @@
|
|||
MODULE Bogo;
|
||||
|
||||
IMPORT Out, Random;
|
||||
|
||||
VAR a: ARRAY 10 OF INTEGER;
|
||||
|
||||
PROCEDURE Init;
|
||||
VAR i: INTEGER;
|
||||
BEGIN
|
||||
FOR i := 0 TO LEN(a) - 1 DO
|
||||
a[i] := i + 1;
|
||||
END;
|
||||
END Init;
|
||||
|
||||
PROCEDURE Sorted(VAR a: ARRAY OF INTEGER): BOOLEAN;
|
||||
VAR i: INTEGER;
|
||||
BEGIN
|
||||
IF LEN(a) <= 1 THEN
|
||||
RETURN TRUE;
|
||||
END;
|
||||
FOR i := 1 TO LEN(a) - 1 DO
|
||||
IF (a[i] < a[i - 1]) THEN
|
||||
RETURN FALSE;
|
||||
END;
|
||||
END;
|
||||
RETURN TRUE;
|
||||
END Sorted;
|
||||
|
||||
PROCEDURE Shuffle*(VAR a: ARRAY OF INTEGER);
|
||||
VAR n, t, r: INTEGER;
|
||||
BEGIN
|
||||
FOR n := 0 TO LEN(a) - 1 DO
|
||||
r := Random.Roll(n);
|
||||
t := a[n];
|
||||
a[n] := a[r];
|
||||
a[r] := t;
|
||||
END;
|
||||
END Shuffle;
|
||||
|
||||
BEGIN
|
||||
Init;
|
||||
Shuffle(a);
|
||||
WHILE ~Sorted(a) DO
|
||||
Shuffle(a);
|
||||
END;
|
||||
FOR i := 0 TO LEN(a) - 1 DO
|
||||
Out.Int(a[i], 0);
|
||||
Out.String(" ");
|
||||
END;
|
||||
Out.Ln;
|
||||
END Bogo.
|
||||
Loading…
Add table
Add a link
Reference in a new issue