Note that there are two instances of  ^: in the tree.

     5!:4 <'f'
  -- [                           
  │               -- 1           
  │               +- }.          
  │               │         -- [:
  │             --+    -----+- <:
  │             │ │    │    L- [ 
  │             │ L----+- |.     
  │      -- ^: -+      L- ]      
--+      │      │ -- 1           
  │      │      │ +- <           
  +- ^: -+      L-+    -- [:     
  │      │        L----+- #      
  │      │             L- ]      
  │      L- _                    
  │                              
  │      -- [:                   
  L------+- i.                   
         L- ]       
Linda

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On  Behalf Of Linda Alvord
Sent: Saturday, April 27, 2013 11:47 AM
To: [email protected]
Subject: Re: [Jprogramming] rosettacode

Jose,  That's it. Here it is!

   f=: 13 :'x ([ (1 }. ([: <:[) |. ])^:(1 <[: #])^:_ [:i.]) y'
   4 f 38
37
   
Linda


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Jose Mario
Quintana
Sent: Saturday, April 27, 2013 9:59 AM
To: Programming forum
Subject: Re: [Jprogramming] rosettacode

   4 ([ (1 }. <:@[ |. ])^:(1 < #@])^:_ i.@]) 38
37
On Apr 27, 2013 4:47 AM, "Linda Alvord" <[email protected]> wrote:

> David had the right answer of 37 as the best position to survive when 
> every 4th prisoner is killed in a group of 38. Here's a new version 
> now that I understand the problem better.
>
>    jolla=: dyad define
>    K=:i.y
>    while. 1<$K do. K=:1}.(<:x)|.K end.
>    K
>    )
>
>    3 jolla 41
> 30
>    4 jolla 38
> 37
>
> I still think there is a "one liner" in its future, but I'm not too 
> good at that yet.
>
> http://rosettacode.org/wiki/Josephus_problem#J
>
> Linda
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Linda 
> Alvord
> Sent: Thursday, April 25, 2013 12:54 PM
> To: [email protected]
> Subject: Re: [Jprogramming] rosettacode
>
> If there are 38 people in a line and every 4th on is killed, where 
> would you stand?
>
>
> josephus =: dyad define NB. explicit form, assume executioner starts 
> at position 0
>    NB. use:  SKIP josephus NUMBER_OF_PRISONERS
>    N =: y
>    K =: N | x
>    EXECUTIONER =: 0
>    PRISONERS =: i. N
>    kill =: ] #~ (~: ([: i. #))
>    while. 1 (< #) PRISONERS do.
>    EXECUTIONER =: (# PRISONERS) | <: K + EXECUTIONER
>    PRISONERS =: EXECUTIONER kill PRISONERS
>    end.
>    )
>
>    3 josephus 41
> 30
>    4 josephus 38
> 37
>
>
>    jolla=: dyad define
>    B=:_1}"1 ((>.y%x) ,x)$i.y
>    G=:(-.2|y)|.(-.(i.y) e. B)#i.y
>    while. y>$B do.
>    B=:B,_1{"1((>.($G)%x) ,x)$G
>    G=:(-.(i.y) e. B)#i.y
>    end.
>    _1}B
>    )
>
>    3 jolla 41
> 30
>    4 jolla 38
> 18
>
> David Lambert's function chooses the 37th position.  Mine chooses the e.
> Where would you stand?
>
> Linda
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of David 
> Ward Lambert
> Sent: Thursday, April 18, 2013 11:20 PM
> To: programming
> Subject: [Jprogramming] rosettacode
>
> Please modify these new entries as you please:
> http://rosettacode.org/wiki/Josephus_problem#J
>
> http://rosettacode.org/wiki/Continued_fraction/Arithmetic/Construct_fr
> om_rat
> ional_number#J
> The continued fraction solution has some oddities.  Returning _ to 
> signal "finished" converts the output vector to floating point.
> That's why I excluded the 314285714 100000000x example.  The `y is 8' 
> input to r2cf__CF is arbitrary and I have to strip it with _ from the
output vector.
>
> ----------------------------------------------------------------------
> 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to