>: *: 5
26
   >: ([ 3 : 'a=: 12') *: 5
26
   a
12

This is another example of using hooks. Also:

   >:@([ smoutput)@*: i.3
0
1
4
1 2 5

Rank check:

   >:@([ smoutput)@:*: i.3
0 1 4
1 2 5



--- p j <[EMAIL PROTECTED]> wrote:

> The following function generates all amicable numbers
> in the range 2 to y.
> http://mathschallenge.net/index.php?section=project&ref=problems&id=95
> has info on amicable  chains.
> 
> A more J like way to try and implement this function
> would be to notice that at its core, is a recursive
> call to (sum of divisors), but the main difficulty
> with that approach is the need to reinitialize the
> chain tracking list (variable a in function below)
> before each call, and also maintain that lookup chain
> structure on each iteration.
> 
> In a general sentence (f g y), is there a way to
> update a global variable in a one liner such that it
> would be equivalent to the following?
> t =. g y
> gvar =: 0
> f t
> 
> where y is a list of arguments to be ^:_ (power limit)
> processed, is there a way to inject some one time
> administrative code once for each argument (that
> doesn't repeat on each iteration)
> 
> 
> 
>    amichain 2000
> „¡„Ÿ„¦„Ÿ„Ÿ„¦„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¦„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¦„Ÿ„Ÿ„Ÿ„¦„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¦„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¢
> „ 6„ 28„ 220 284„ 284
> 220„ 496„ 1184 1210„ 1210 1184„ 
> „¤„Ÿ„¨„Ÿ„Ÿ„¨„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¨„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¨„Ÿ„Ÿ„Ÿ„¨„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¨„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„£
> amichain =: 3 : 0
>  out=. 0$0
> for_ii. i. y. do.
>  a=. 0$0
>  n=. ii_index+2
>       while. 1  do.
>         n=.  (+/ divisors n)
>         if. n=1 do.  break. end.
>         if. n>y. do.  break. end. NB. artificial constraint
>         if. (n = (ii_index+2)) do. 
>               out =. out ,<((ii_index+2), a  )
>               break. end.
>         if. n e. a do. break. end.
>       
>         a=. a , n
>       end.
> end.
> out
> )
> divisors =: ~.@(*/@#~ #:@i.@<:@(2&^)@#)@q:
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to