Subscribe via feed.

A strange factorial

Posted by Chris on November 20, 2011 – 6:15 pm

Define the operator * such that, a*b = ab + a + b for all integers a and b.
Evaluate 1*(2*(3*(4*…(99*100)…)))

NB ab means a times b in the usual sense. The title is a clue.
Here’s another: you need to “invert” the order of the expression.


This post is under “MathsChallenge” and has 7 respond so far.
If you enjoy this article, make sure you subscribe to my RSS Feed.

7 Responds so far- Add one»

  1. 1. Wizard of Oz Said:

    I can’t see a single operator here. All I can see is a function like fn(a,b) = (a+1)(b+1) – 1.
    Putting this into the expression to be evaluated gives us
    ((((((…(98 x (99 x (100×101 – 1) – 1) – 1)…)))))
    A better number cruncher than me might be able to put a value on this.
    Factorials don’t seem to come into this (as far as I can see) so I don’t know if I’m getting warm or not.

  2. 2. slavy Said:

    Hi Wiz! I hope Chris doesn´t mind if I expand his hints! What he meant by “inverting” the order of expression was that you should show that the expression is associative, so that: (a*b)*c=a*(b*c), meaning that if we denote by a(100) the given expression and straightforwardly generalize it for a(n), we indeed have a(n+1)=(n+1)*a(n). Hence, we are looking for 100! with respect to the new operation *

    Now, you can use induction for computing the answer or, if you still don’t see the pattern after several steps (I didn’t see it myself), then use your formula – it turns to be very helpful ;) Actually, I do recommend using your formula rather than computing a(n) for small n – the induction seems easier…

  3. 3. Chris Said:

    Slavy’s assertion that “*” is an associative operator i.e. a*(b*c)=(a*b)*c is easily provable and is a crucial step (at least to keep the solution “simple”). Also Slavy’s recognition that induction is the tool to use, is also right. I gave the hint, “factorial”, to help you guess the expression to look for.

    Operator’s are frequently representable by functions; though that is stretching the strict definition of function. A typical one is that the normal multiplication operator “x” is such that: a x b = (a+a+a+…+a), where there are b a’s.

    The operator idea is a wonderful/elegant mathematical trick. The first time I was introduced to operators (as such) was the differential operator e.g. “d/dx” or “D”. The next time was the step-up/down (or ladder) operator, and that was to solve the quantum mechanical oscillator problem. See: http://en.wikipedia.org/wiki/Quantum_harmonic_oscillator#Ladder_operator_method

    A wonderful example is the time independent Schrödinger equation: HΨ = EΨ, where H is the Hamiltionian (an operator), E is the energy level and Ψ is the wave function.

  4. 4. Chris Said:

    First note that * is both commutative and associative.
    Commutativity: a*b = ab + a + b = b*a
    Associativity: a*(b*c) = a*(bc + b + c)
    = a(bc + b + c) + a + bc + b + c
    = abc + ab + ac + bc + a + b + c and
    (a*b)*c = (ab + a + b)c + ab + a + b + c
    = abc + ab + ac + bc + a + b + c.
    => a*(b*c) = (a*b)*c = a*b*c

    So we need only to calculate ((…(1*2)*3)*4)…*100).
    We will prove by induction that ((…(1*2)*3)*4)…*n) = (n + 1)! – 1:
    Base case (n = 2): (1*2) = 2 + 1 + 2 = 5 = 3! – 1
    Inductive step: Suppose that
    (((…(1*2)*3)*4)…*n) = (n + 1)! – 1:
    Then, ((((…(1*2)*3)*4)…*n)*(n + 1)) = ((n + 1)! – 1)*(n + 1)
    = (n + 1)!(n + 1) – (n + 1) + (n + 1)! – 1 + (n + 1)
    = (n + 2)! – 1, as required.
    Hence, ((…(1*2)*3)*4)…*n) = (n + 1)! – 1 for all n.

    For n = 100, this gives 101! – 1.

    NB I’ve only edited the solution provided by the source site.

  5. 5. Wizard of Oz Said:

    Nice one, Chris!

  6. 6. cazayoux Said:

    I’ve also enjoyed playing with this one, even though I didn’t post anything.

    I’m not as smart as some of the others here, so I didn’t “see it” right away.

    Thanks for the fun!

  7. 7. Chris Said:

    Thanks guys. I wasn’t sure about posting it, but my fascination with operators won the day :)

Post a reply




PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\ext\php_mssql.dll' - The specified module could not be found. in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\ext\php_pdo_mssql.dll' - The specified module could not be found. in Unknown on line 0