18 lines
444 B
Plaintext
18 lines
444 B
Plaintext
program repstring;
|
|
tests := [
|
|
"1001110011", "1110111011", "0010010010", "1010101010",
|
|
"1111111111", "0100101101", "0100100", "101", "11", "00", "1"
|
|
];
|
|
|
|
loop for test in tests do
|
|
print(test + ": " + str repstrings(test));
|
|
end loop;
|
|
|
|
proc repstrings(s);
|
|
return {
|
|
s(..l) : l in [1..#s div 2]
|
|
| (s(..l)*(#s div l+1))(..#s) = s
|
|
};
|
|
end proc;
|
|
end program;
|