A friend of mine has recently started a challenge in which he starts by doing 22 pressups and then nominates somebody else to do 22 pressups the next day. This continues every day in which those who have not exceeded 22 nominations (22 days) continue to do their pressups and make their nominations.
What is the geometric formula for this progression? This assumes no one asks the same person twice and everyone accepts their nomination. Additionally how long before the number of people involved will exceed the population of the Earth at ~7.4 billion?
This begins as a simple 2^n progression however after the 22nd day it gets complicated as my friend is no longer involved, and those that have exceeded their 22 day period no longer participate.
Ideally I would like to say how many people will be doing pressups on day 50/60/70 etc, is it possible to derive a formula that I can plug these number into to work this out? It would be easy to create a program to compute this but I wondered if it could be worked out by simple pen and paper and perhaps a calculator alone.
This can be modeled with a linear recurrence.
The first person to begin starts on Day $1$, which means we can treat him as if he were nominated on Day $0$, since anyone who is nominated begins the challenge starting the following day.
Let $T(n)$ be the number of people participating on day $n$ (i.e. the number of people who are doing pressups / giving out nominations on that day):
$$T(n) = \sum_{k=1}^{22} T(n-k)$$
Base cases: $T(n)=0$ for $n<0$, $T(0) = 1$, and $T(n) = 2^{n-1}$ for $1 \leq n \leq 22$.
This is similar to the Fibonacci sequence, except instead of degree $2$, it's degree $22$.
Day $34$ is when the total number of participants exceeds the planet's population, at $T(34) = 8589921280$.
Here is a table of results:
\begin{array} {|r|r|} \hline n &T(n)\\ \hline 1 & 1 \\ \hline 2 & 2 \\ \hline 3 & 4 \\ \hline 4 & 8 \\ \hline 5 & 16 \\ \hline 6 & 32 \\ \hline 7 & 64 \\ \hline 8 & 128 \\ \hline 9 & 256 \\ \hline 10 & 512 \\ \hline 11 & 1024 \\ \hline 12 & 2048 \\ \hline 13 & 4096 \\ \hline 14 & 8192 \\ \hline 15 & 16384 \\ \hline 16 & 32768 \\ \hline 17 & 65536 \\ \hline 18 & 131072 \\ \hline 19 & 262144 \\ \hline 20 & 524288 \\ \hline 21 & 1048576 \\ \hline 22 & 2097152 \\ \hline 23 & 4194303 \\ \hline 24 & 8388605 \\ \hline 25 & 16777208 \\ \hline 26 & 33554412 \\ \hline 27 & 67108816 \\ \hline 28 & 134217616 \\ \hline 29 & 268435200 \\ \hline 30 & 536870336 \\ \hline 31 & 1073740544 \\ \hline 32 & 2147480832 \\ \hline 33 & 4294961152 \\ \hline 34 & 8589921280 \\ \hline 35 & 17179840512 \\ \hline 36 & 34359676928 \\ \hline 37 & 68719345664 \\ \hline 38 & 137438674944 \\ \hline 39 & 274877317120 \\ \hline 40 & 549754568704 \\ \hline \end{array}
Python 2.x script: