Talk:Product of divisors
Choosing the right abstraction
This is really an exercise in defining a divisors function, and the only difference between the suggested Sum and Product draft tasks boils down to two trivial morphemes:
reduce(add, divisors(n), 0) vs reduce(mul, divisors(n), 1)
The goal of Rosetta code (see the landing page) is to provide contrastive insight (rather than comprehensive coverage of homework questions :-). Perhaps the scope for contrastive insight in the matter of divisors is already exhausted by the trivially different Proper divisors task.
There are numbers called divisorial related to that problem. Single responsability. It is like creating the sigma function with all the cases or to use gamma function instead of factorial. http://oeis.org/wiki/Divisorial --Blek
There are alternative algorithms
... for calculating the sum/product of the divisors that don't rely on enumerating the divisors and then summing/multiplying them (As in Simonjsaunders demonstrates with the C++ sample) for this and the Sum Of Divisors Task. --Tigerofdarkness (talk) 20:58, 21 December 2020 (UTC)