Since */ and q: are an inverse pair,

sdiv4 =: (*//.~ (* */@:%&:<: ]) ~.)@q:
sdiv5 =: (*//.~ (* %&<: ]) ~.)&.q:

   (sdiv -: sdiv5) !20x
1





On Tue, Jun 10, 2014 at 3:33 PM, Roger Hui <[email protected]>
wrote:

> sdiv  =: */ @: (((^>:) %&<: [)/) @: (__&q:)
> sdiv1 =: */ @ (%~/) @: <: @ ((^>:)/\) @ (__&q:)
> sdiv2 =: (((^>:) */@:%&:<: [)/) @: (__&q:)
> sdiv3 =: __ ((^>:) */@:%&:<: [)/@q: ]
> sdiv4 =: (*//.~ (* */@:%&:<: ]) ~.)@q:
>
>    (sdiv -: sdiv1) !20x
> 1
>    (sdiv -: sdiv2) !20x
> 1
>    (sdiv -: sdiv3) !20x
> 1
>    (sdiv -: sdiv4) !20x
> 1
>
>
>
>
> On Tue, Jun 10, 2014 at 1:54 PM, Henry Rich <[email protected]> wrote:
>
>> Shorter version:
>>
>> sdiv =. */@(%~/)@:<:@((^ >:)/\)@(__&q:)
>>
>> spdiv =. (-~ sdiv)
>>     spdiv 12
>> 16
>>
>> Henry Rich
>> On 6/10/2014 3:09 PM, Henry Rich wrote:
>>
>>> NB. sum of divisors
>>> sdiv =. (*/) @: (((^ >:) %&<: [)/) @: (__&q:)
>>> NB. sum of proper divisors
>>> spdiv =. (-~ sdiv)
>>>     spdiv 12
>>> 16
>>>
>>> Henry Rich
>>>
>>> On 6/10/2014 1:18 PM, Roger Hui wrote:
>>>
>>>> From http://www.jsoftware.com/jwiki/Essays/Divisors
>>>>>
>>>>
>>>>     div=: /:~ @: , @: > @: (*/&.>/) @: ((^ i.@>:)&.>/) @: (__&q:)
>>>>     div 360
>>>> 1 2 3 4 5 6 8 9 10 12 15 18 20 24 30 36 40 45 60 72 90 120 180 360
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Jun 10, 2014 at 10:10 AM, Jon Hough <[email protected]>
>>>> wrote:
>>>>
>>>>  My attempt at making a verb that finds the total of all proper
>>>>> divisors of
>>>>> an integer seems to work.
>>>>> e.g. if n = 12, the sum of proper divisors is 1 +2 +3+4+6 = 16 (note
>>>>> 12 is
>>>>> not included)
>>>>> This verb is actually equal to the "sigma function" minus n.Wikipedia
>>>>> explanation: http://en.wikipedia.org/wiki/Divisor_function
>>>>> (I essentially used the equation for sigma_x(n) where x = 1)
>>>>> my verb:
>>>>>
>>>>> sum =.(((*/@:-&1@:{.)%~(*/@:-&1@:({.^(1&+@:,@:}.))))@:(2&p:))-]
>>>>> This seems ok, but is not aesthetically pleasing, and seems to be very
>>>>> bracketty, and given that the mathematical equation is pretty concise
>>>>> I am
>>>>> surprised the J verb is so long. If anyone knows a nicer way of doing
>>>>> this
>>>>> I would be grateful to see it.
>>>>> Regards.
>>>>> ----------------------------------------------------------------------
>>>>> 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