BYTE Func Equals(CHAR ARRAY a,b) BYTE i IF a(0)#b(0) THEN RETURN (0) FI FOR i=1 TO a(0) DO IF a(i)#b(i) THEN RETURN (0) FI OD RETURN (1) PROC Lcs(CHAR ARRAY a,b,res) CHAR ARRAY t(100) BYTE i,j,len IF a(0)0 DO FOR i=1 to a(0)-len+1 DO SCopyS(res,a,i,i+len-1) FOR j=1 to b(0)-len+1 DO SCopyS(t,b,j,j+len-1) IF Equals(res,t) THEN RETURN FI OD OD len==-1 OD res(0)=0 RETURN PROC Test(CHAR ARRAY a,b) CHAR ARRAY res(100) Lcs(a,b,res) PrintF("lcs(""%S"",""%S"")=""%S""%E",a,b,res) RETURN PROC Main() Test("thisisatest","testing123testing") RETURN