Just another try. sqrs =: [: ; ((1+i.@<.@-:@#) <@([((-@[}.])(<@,"1 ~.@#~-:"1)}.)]\)"0 1])
sqrs s ┌──┬──┬────┬────┐ │aa│bb│abab│baba│ └──┴──┴────┴────┘ sqrs&.> 'square';'square-free';'bonbon' ┌┬────┬────────┐ ││┌──┐│┌──────┐│ │││ee│││bonbon││ ││└──┘│└──────┘│ └┴────┴────────┘ sqrs ,2$,:s ┌──┬──┬────┬────┬────────┬──────────────────┐ │aa│bb│abab│baba│baabbaab│aababaabbaababaabb│ └──┴──┴────┴────┴────────┴──────────────────┘ -- Met vriendelijke groet, @@i = Arie Groeneveld ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
