Until further notice Raul's has the fewest tokens. My variant of his solution has 36 tokens and would probably be a good version for simple J.
A=:'we celebrate Memorial Day on May the twenty eighth' B=:'a big arrow focused somewhere' wave=: [: <"2 [: ([: |: |.)^:(<5) ([: > ;:)|."0 1~ [: - [: <. [: -: [: +/"1 ' ' = [: > ;: #;:'[: <"2 [: ([: |: |.)^:(<5) ([: > ;:) |."0 1~ [: - [: <. [: -: [: +/"1 '' '' = [: > ;:' 40 waveVC=:[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: +/"1 ' ' = ]) [: > ;: #;:'[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: +/"1 '' '' = ]) [: > ;' 39 waveJQ=.[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: ' '+/ .=~ ]) [: > ;: #;:'[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: '' ''+/ .=~ ]) [: > ;:' 38 waveRLA=:[: <"_1 [: ([: |. |:)^:4 3 2 1 0 ([: , [: - [: -: [: +/"1 ' ' = [: > ;:) |."_1 [: > ;: #;:'[: <"_1 [: ([: |. |:)^:4 3 2 1 0 ([: , [: - [: -: [: +/"1 '' '' = [: > ;:) |."_1 [: > ;:' 36 waveR=: [:<"_1 [:|.&|:^:4 3 2 1 0 [:(|."_1~ [:>. +/ .=&' ' % _2:) [:> ;: #;:'[: <"_1 [: |.&|:^:4 3 2 1 0 [: (|."_1~ ([: >. +/ .=&'' '' % _2:)) [: > ;:' 32 But since I'm more partial to mathematics than programming, I'll keep this handy: waveRla=: 13 :'<"_1 ([: |.|:)^:4 3 2 1 0 (,--:+/"1'' ''=>;:y)|."_1 >;:y' Linda -----Original Message----- From: programming-boun...@jsoftware.com [mail o:programming-boun...@jsoftware.com] On Behalf Of Raul Miller Sent: Sunday, June 03, 2012 11:23 AM To: Programming forum Subject: Re: [Jprogramming] Challenge 11 Wave the Flag If by simplification you mean "fewer tokens while avoiding text definitions and @ and @: then here is a variation on Jose's approach: waveR=: [:<"_1 [:|.&|:^:4 3 2 1 0 [:(|."_1~ [:>. +/ .=&' ' % _2:) [:> ;: I save 3 tokens by replacing (<5) with 4 3 2 1 0 I save 2 tokens by replacing [: - [: <. [: -: ' '+/ .=~ with [: >. +/ .=&' ' % _2: I save 2 tokens by replacing ([: |. |:) with |.&|: Note, however that if you are purely counting tokens, u@v and u@:v can be simpler than ([: u v). Also, if you count text as a single token, text definitions are automatically simpler than most everything. (But if you add to the token count the number of tokens represented in the text, this goes away.) -- Raul On Sun, Jun 3, 2012 at 10:23 AM, Linda Alvord <lindaalv...@verizon.net> wrote: > > Viktor Cerovski and Jose Quintanta have provided solutions that are > simplifying the waves. > > B=:'a big arrow focused somewhere' > wave=: [: <"2 [: ([: |: |.)^:(<5) ([: > ;:)|."0 1~ [: - [: <. [: -: [: > +/"1 ' ' = [: > ;: > #;:'[: <"2 [: ([: |: |.)^:(<5) ([: > ;:) |."0 1~ [: - [: <. [: -: [: > +/"1 '' '' = [: > ;:' > 40 > waveVC=:[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: +/"1 ' > ' = ]) [: > ;: > #;:'[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: +/"1 '' '' > = ]) [: > ;' > 39 > waveJQ=.[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: ' > '+/ .=~ > ]) [: > ;: > #;:'[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: '' ''+/ > .=~ > ]) [: > ;:' > 38 > Any more simplifications waiting in thewings? > > Linda > > -----Original Message----- > From: programming-boun...@jsoftware.com > [mailto:programming-boun...@jsoftware.com] On Behalf Of Jose Quintana > Sent: Sunday, June 03, 2012 12:33 AM > To: programming@jsoftware.com > Subject: Re: [Jprogramming] Challenge 11 Wave the Flag > > > Cheating... wave1=. [: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: > -: ' ' +/ .=~ ]) [: > ;: > > cheat=. (lr<'wave1')&apply f. > lr<'cheat' > '[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ ([: - [: <. [: -: '' '' +/ .=~ > ])) > [: > ;:'&(128!:2) > #;:lr<'cheat' > 7 > ... and without cheating > wave1=. [: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: ' ' > +/ .=~ ]) [: > ;: > #;: '[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: '' > '' +/ .=~ ]) [: > ;:' > 38 > Date: Sat, 2 Jun 2012 02:38:40 -0700 >> From: viktor.cerov...@gmail.com >> To: programming@jsoftware.com >> Subject: Re: [Jprogramming] Challenge 11 Wave the Flag >> >> >> >> >> Linda Alvord wrote: >> > >> > >> > >> > It was David Ward Lambert's idea to write a one line expression >> > with the fewest tokens. We worked together and got to 40 tokens. >> > Any ideas to make this any better. >> > >> > >> > >> > B=:'a big arrow focused somewhere' >> > >> > NB. center justify (Hint from DWL x |."0 1 y) >> > >> > cj=: 13 :'(-<.-:+/"1 '' ''=>;:y)|."0 1>;:y' >> > >> > cj >> > >> > ([: - [: <. [: -: [: +/"1 ' ' = [: > ;:) |."0 1 [: > ;: >> > >> > cj B >> > >> > a >> > big >> > arrow >> > focused >> > somewhere >> > >> > NB. quarter turns >> > >> > qtla=: 13 :'y;(|:|.y);(|.|:|.|:y);(|.|:y);y' >> > >> > qtla >> > >> > ] ; ([: |: |.) ; ([: |. [: |: [: |. |:) ; ] ;~ [: |. |: >> > >> > qtla cj B >> > >> > ----------T-----T---------T-----T---------┐ >> > │ a │s │erehwemos│ e│ a │ │ big │of │ >> > desucof │ dr│ big │ │ arrow │moa │ worra │ wee│ arrow >> > │ │ focused │ecrb │ gib │ gosh│ focused │ │somewhere│wuria│ >> > a │airuw│somewhere│ │ │hsog │ │ brce│ │ >> > │ │eew │ │ aom│ │ │ │rd │ >> > │ fo│ │ │ │e │ │ s│ │ >> > L---------+-----+---------+-----+---------- >> > >> > NB. 5 quarter turns David Ward Lambert >> > >> > qtdwl=: 13 :'<"2 ([:|:|.)^:(<5)y' >> > >> > qtdwl cj B >> > >> > ----------T---------T---------T---------T---------┐ >> > │ a │s │erehwemos│ e │ a │ │ big │of >> > │ desucof │ dr │ big │ │ arrow │moa │ worra │ >> > wee │ arrow │ │ focused │ecrb │ gib │ gosh │ >> > focused │ │somewhere│wuria │ a │airuw │somewhere│ │ >> > │hsog │ │ brce │ │ │ │eew │ >> > │ aom │ │ │ │rd │ │ fo │ >> > │ │ │e │ │ s │ │ >> > L---------+---------+---------+---------+---------- >> > >> > qtdwl >> > >> > [: <"2 ([: |: |.)^:(<5) >> > >> > >> > >> > wave=: [: <"2 [: ([: |: |.)^:(<5) ([: > ;:)|."0 1~ [: - [: <. [: -: > [: >> > +/"1 ' ' = [: > ;: >> > >> > >> Here is a 39 token version: >> >> wave1=:[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: >> +/"1 > ' >> ' = ]) [: > ;: >> >> #;:'[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: +/"1 '' > '' >> = ]) [: > ;:' >> 39 >> >> >> >> > >> > wave B >> > >> > ----------T---------T---------T---------T---------┐ >> > │ a │s │erehwemos│ e │ a │ │ big │of >> > │ desucof │ dr │ big │ │ arrow │moa │ worra │ >> > wee │ arrow │ │ focused │ecrb │ gib │ gosh │ >> > focused │ │somewhere│wuria │ a │airuw │somewhere│ │ >> > │hsog │ │ brce │ │ │ │eew │ >> > │ aom │ │ │ │rd │ │ fo │ >> > │ │ │e │ │ s │ │ >> > L---------+---------+---------+---------+---------- >> > >> > wave >> > >> > [: <"2 [: ([: |: |.)^:(<5) ([: > ;:) |."0 1~ [: - [: <. [: -: [: +/"1 ' > ' >> > = >> > [: > ;: >> > >> > #;:'[:<"2[:([:|:|.)^:(<5)([:>;:)|."0 1~[:-[:<.[:-:[:+/"1'' ''=[:>;:' >> > >> > 40 >> > >> > >> > >> > Hopefully David will send his version of 39 tokens but not simple J. >> > Note also that you must paste the long line for wave together. >> > >> > >> > >> > Linda >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > From: Linda Alvord [mailto:lindaalv...@verizon.net] >> > Sent: Tuesday, May 01, 2012 3:17 AM >> > To: 'Linda Alvord' >> > Subject: Challenge 11 Wave the Flag >> > >> > >> > >> > Challenge 10 Wave the Flag PLEASE DO NOT RESPOND UNTIL 5/28/2012 >> > 12 > am >> > EST >> > >> > >> > >> > Here's a little preparation for Memorial Day. >> > >> > >> > >> > S=:10 16$(16$' '),176$(16$'* '),16$' * ' >> > >> > T=:10 36$(36$'#'),72$' ' >> > >> > U=:9 52$(104$' '),364$(52$'#'),104$' ' >> > >> > <' ',"1(((S,"1 ' '),.T),U),"1 ' ' >> > >> > --------------------------------------------------------┐ >> > │ #################################### │ │ * * * >> > * * * │ │ * * * * * >> > >> > │ │ * * * * * * #################################### │ │ * * >> > * * * │ │ * * * * * * >> > >> > │ │ * * * * * #################################### │ │ * * >> > * * * * │ │ * * * * * >> > >> > │ │ * * * * * * #################################### │ │ >> > >> > │ │ │ │ >> > #################################################### │ │ >> > >> > │ │ │ │ >> > #################################################### │ │ >> > >> > │ │ │ │ >> > #################################################### │ >> > L-------------------------------------------------------- >> > >> > >> > >> > Part 1: Use viewmat and create a little flag. Next design a >> > function to rotate it clockwise 90 degrees successively until it is >> > in the original position. >> > >> > >> > >> > load viewmat >> > >> > flag=: >> > >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > >> > wwwwwwwwwwwwww >> > >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > >> > wwwwwwwwwwwwww >> > >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > >> > wwwwwwwwwwwwww >> > >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > >> > wwwwwwwwwwwwww >> > >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > wwwwwwww >> > >> > >> > >> > Part 2: >> > >> > >> > >> > A=:'we celebrate Memorial Day on May the twenty eighth' >> > >> > wave=: >> > >> > ------------T-----------T-----------T-----------T-----------┐ >> > │----------┐│----------┐│----------┐│----------┐│----------┐│ >> > ││ we │││ Mc │││ hthgie │││ e │││ we ││ >> > ││celebrate│││et ee │││ ytnewt │││ tl │││celebrate││ >> > ││Memorial │││iw ml │││ eht │││ aa yh│││Memorial ││ ││ >> > Day │││getMoDoew│││ yaM │││ riy yett│││ Day ││ ││ on >> > │││hnhanarbe│││ no │││ebranahnh│││ on ││ ││ May >> > │││ttey yir │││ yaD │││weoDoMteg│││ May ││ ││ the │││hy >> > aa │││ lairomeM│││ lm wi│││ the ││ ││ twenty │││ lt >> > │││etarbelec│││ ee te│││ twenty ││ ││ eighth │││ e │││ >> > ew │││ cM │││ eighth ││ >> > │L----------│L----------│L----------│L----------│L----------│ >> > L-----------+-----------+-----------+-----------+------------ >> > >> > >> > >> > Reshape A into a 9 9 square matrix. Justify all lines in the center. >> > If a line has an even number of letters put the extra letter on the >> > left. Now design a function to rotate the words in a similar >> > fashion to the flag above. Note the letters in "we" as they move >> > around clockwise. Your function should work for any square literal matrix. >> > >> > >> > >> > Happy Memorial Day! >> > >> > >> > >> > Linda >> > >> > ------------------------------------------------------------------- >> > - >> > -- For information about J forums see >> > http://www.jsoftware.com/forums.htm >> > >> >> -- >> View this message in context: >> http://old.nabble.com/Re%3A-Challenge-11-Wave-the-Flag-tp33948875s241 >> 9 3p33948951.html Sent from the J Programming mailing list archive at >> Nabble.com. >> >> --------------------------------------------------------------------- >> - For information about J forums see >> http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm