15 lines
356 B
Plaintext
15 lines
356 B
Plaintext
procedure main(A)
|
|
every write(s := !A,": ",(repString(s) | "Not a rep string!")\1)
|
|
end
|
|
|
|
procedure repString(s)
|
|
rs := s[1+:*s/2]
|
|
while (*rs > 0) & (s ~== lrepl(rs,*s,rs)) do rs := rs[1:-1]
|
|
return (*rs > 0, rs)
|
|
end
|
|
|
|
procedure lrepl(s1,n,s2) # The standard left() procedure won't work.
|
|
while *s1 < n do s1 ||:= s2
|
|
return s1[1+:n]
|
|
end
|