Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,41 @@
|
|||
MODULE LookAndSay;
|
||||
FROM InOut IMPORT WriteString, WriteLn;
|
||||
FROM Strings IMPORT Assign, Length;
|
||||
|
||||
CONST
|
||||
MaxSize = 128;
|
||||
Steps = 14;
|
||||
|
||||
VAR
|
||||
buf1, buf2: ARRAY [0..MaxSize-1] OF CHAR;
|
||||
step: CARDINAL;
|
||||
|
||||
PROCEDURE LookSay(in: ARRAY OF CHAR; VAR out: ARRAY OF CHAR);
|
||||
VAR count, inIdx, outIdx: CARDINAL;
|
||||
curChar: CHAR;
|
||||
BEGIN
|
||||
inIdx := 0;
|
||||
outIdx := 0;
|
||||
WHILE in[inIdx] # CHR(0) DO
|
||||
curChar := in[inIdx];
|
||||
count := 0;
|
||||
REPEAT
|
||||
INC(inIdx);
|
||||
INC(count);
|
||||
UNTIL in[inIdx] # curChar;
|
||||
out[outIdx] := CHR(ORD('0') + count);
|
||||
out[outIdx+1] := curChar;
|
||||
outIdx := outIdx + 2;
|
||||
END;
|
||||
out[outIdx] := CHR(0);
|
||||
END LookSay;
|
||||
|
||||
BEGIN
|
||||
Assign("1", buf1);
|
||||
FOR step := 1 TO Steps DO
|
||||
WriteString(buf1);
|
||||
WriteLn();
|
||||
LookSay(buf1, buf2);
|
||||
Assign(buf2, buf1);
|
||||
END;
|
||||
END LookAndSay.
|
||||
Loading…
Add table
Add a link
Reference in a new issue