I tried this in simple J.  It should work in elementary school (as long as
it is correct)

 

   f=: 13 :'(>:i.x)  */>:i.y'

   g=: 13 :'(i.x<.y)<:/i.x>.y'

   all=: 13 :'+/,((x<.y) g x>.y) * (x<. y) f x >.y'

   2 f 3

1 2 3
2 4 6

   3 f 2

1 2
2 4
3 6

   3 f 3

1 2 3
2 4 6
3 6 9

   2 g 3

1 1 1
0 1 1

   3 g 2

1 1 1
0 1 1

   3 g 3

1 1 1
0 1 1
0 0 1

   2 all 3

16

   3 all 2

16

   3 all 3

25

   93 all 93

9689050

   93 all 94

10099924

   94 all 94

10108760

 

NB.  This could be in computer science if it ever gets in elementary school.

   f

([: >: [: i. [) */ [: >: [: i. ]

   g

([: i. <.) <:/ [: i. >.

   all

[: +/ [: , (<. g >.) * <. f >.

   

   

Linda

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

Reply via email to