Arithmetic derivative: Difference between revisions

Content added Content deleted
(→‎{{header|J}}: more direct (non-recursive) implementation)
Line 41: Line 41:
<lang J>D=: {{ (*y)*+/1*/\.q:1>.|y }}"0</lang>
<lang J>D=: {{ (*y)*+/1*/\.q:1>.|y }}"0</lang>


In other words: find the prime factors of the absolute value of y as a sequence, find and sum each of the products with exactly one value removed from this sequence and multiply by the sign of y. (And since 0 has an infinite list of prime factors which makes treating it nonsensical, use the empty list of prime factors of 1 for that case.)
In other words: find the prime factors of the absolute value of y as a sequence, find and sum each of the products with exactly one value removed from this sequence and multiply by the sign of y. (And since 0's prime factor list does not exist, use the empty list of prime factors of 1 for that case.)


Task example:
Task example: