eg. to count the number of pair (x,y) such that y is a factor of x for x,y 
0<x<:10
use of function table is a good choice,
fac=: (= <.)@%
   fac/~ >:@:i. 10
1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0
1 1 1 0 0 1 0 0 0 0
1 0 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 1 0 0
1 0 1 0 0 0 0 0 1 0
1 1 0 0 1 0 0 0 0 1
   +/ , fac/~ >:@:i. 10
27

furthermore if only proper factor is counted
   +/ , ([EMAIL PROTECTED] i.10 ) *. fac/~ >:@:i. 10
17

BUT obviously processing the upper triangular (and diagonal) is reducdant.
The time and space cost for large matrix may be significant.

Can anyone show how to do it without control structure?

TIA

bill


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to