NB. Nakano JAPLA Feb/2009 odometer=: #: i.@(*/) divisors=: /:~@(~. */ . ^"1 odometer@:>:@(#/.~))@q: amicable=: +/@}:@divisors NB. ----------------------- qs=: ~.@q: qn=: 3 : 0 nys=. # YS=. ~. qc=. q: y Y1=. YS=/qc qn1=. +/"1 Y1 (2,nys)$ qn1,YS ) pd=: 4 : 0 X =.x Y =. y ps=./:~@~.@,(1,X)*/(1,Y) ) NB. ------Yamashita---------------------- choosex=: 3 : 0 y0=: # y t=: n0#2 u0=: t #: i. */ t }.}: u0 #"1 y ) soin=: 3 : 0 y1=. y0=. y [ c=. '' label_1. b=2 label_2. if. b>%:y1+1 do. goto_4.end. if. (y1-(,.y1%b)*b)- do. goto_3.end. b=. b+1 goto_2. label_3. c=. b,c t1=. y1%b goto_1. label_4. (|.c),y1 ) amicay=: 3 : 0 a=. choosex po=. |. soin y c=. a=b=. ((#a),#p0)$0 >:+/*/"1 ~. a+c )