Talk:Special factorials: Difference between revisions

From Rosetta Code
Content added Content deleted
(→‎Reverse factorial algorithm: added a couple of comments.)
m (→‎Why is af(0) 0?: variables)
Line 21: Line 21:
Is it that 0 is the additive identity the way that factorial of 0 is 1 is the multiplicative identity? If so why should it be the identity anyway?
Is it that 0 is the additive identity the way that factorial of 0 is 1 is the multiplicative identity? If so why should it be the identity anyway?
: I think it's just that the formula literally produces 0 for n = 0.
: I think it's just that the formula literally produces 0 for n = 0.
: First run through, k is 1, this produces -1. Second run through, k is 0, this produces 1 and their sum is 0. --[[User:Chunes|Chunes]] ([[User talk:Chunes|talk]]) 17:36, 16 March 2021 (UTC)
: First run through, i is 1, this produces -1. Second run through, i is 0, this produces 1 and their sum is 0. --[[User:Chunes|Chunes]] ([[User talk:Chunes|talk]]) 17:36, 16 March 2021 (UTC)

Revision as of 17:41, 16 March 2021

Reverse factorial algorithm

I took a stab at translating the reverse factorial algorithm used in the Factor entry to Java. It should be almost as efficient as taking the factorial itself. <lang java>public static int rf(int n) {

   int a = 1;
   int b = 1;
   while (n > a) {
     b++;
     a = a * b;
   }
   if (a == n)
     return b;
   else return -1; //undefined
 }</lang>

--Chunes (talk) 17:06, 16 March 2021 (UTC)

Note that the   factorial inverse   (or  reverse factorial)   of   unity   has two possible answers:   zero   and   unity.
It is normal when searching a series   (in this case, the series of factorial products)   to use the first match found in the series.     -- Gerard Schildberger (talk) 17:37, 16 March 2021 (UTC)

Why is af(0) 0?

Is it that 0 is the additive identity the way that factorial of 0 is 1 is the multiplicative identity? If so why should it be the identity anyway?

I think it's just that the formula literally produces 0 for n = 0.
First run through, i is 1, this produces -1. Second run through, i is 0, this produces 1 and their sum is 0. --Chunes (talk) 17:36, 16 March 2021 (UTC)