Update5: Thanks larryk for the suggestion, 77 nowsub Z{
@_=@l=sort{.5<=>rand}@_;join('',reverse@l)eq(join'',map{map{chop}@l}@l
+)?@_:&Z
}
|
Update4: Okay, last update, sorry (87 now)
sub Z{
@_=@l=map{splice@_,rand@_,1}@_;join('',reverse@l)eq(join'',map{map{cho
+p}@l}@l)?@_:Z(@_)
}
Update3:Okay, so I'm bad at golf :-) (now at 98)
sub Z{
for(;;){@_=@l=map{splice@_,rand@_,1}@_;return@_ if join('',reverse@l)e
+q join'',map{map{chop}@l}@l}
}
Update2: Using for(;;) instead of while(1) -- count = 101;
sub Z{
for(;;){@l=map{splice@_,rand@_,1}@_;@_=@l;return@_ if join('',reverse@
+l)eq join'',map{map{chop}@l}@l}
}
Original:
Hello
Here is my shot at 102 using permutation trial and error, enjoy
my @ar = qw/NEAR LANE EARS AREA/ ;
# @ar = qw/LINGO MILLS SMOCK IDIOM LOGIC/;
print "$_\n" for Z(@ar);
sub Z{
while(1){@l=map{splice@_,rand@_,1}@_;@_=@l;return@_ if join('',reverse
+@l)eq join'',map{map{chop}@l}@l}
}
Aziz,,,
Update: Added Mills Lingo :-)
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.