This answer is an improvement on Milo Brandt's answer, and is based on "Formes linéaires en deux logarithmes et déterminants d′interpolation" (M. Laurent, M. Mignotte, and Y. Nesterenko) (which I got from this MathOverflow answer).
We will prove Professor Halfbrain's theorem by contradiction. Suppose that there is some $n$ for which the theorem does not hold. Then we must have:
$$
2016^n + 32^n \ge 10^k > 2016^n
$$
for some integer $k$. That is, when adding $32^n$ we must have "passed over" a power of ten in order to increase the number of digits. Like Milo, we start by taking logarithms:
$$
\log\left(2016^n + 32^n\right) > k\log 10 \ge n\log 2016
$$
This step is valid since all parts of the inequality are positive, and $\log x$ is strictly increasing for all $x>0$. The logarithm is also strictly concave, which means that it is "bounded above by its first-order Taylor approximation"; that is:
$$
\log(x) < \log(x_0) + \log'(x_0)(x-x_0) = \log(x_0) + \frac{x-x_0}{x_0},\ x \ne x_0 \\
\log(x_0+y) < \log(x_0) + \frac{y}{x_0},\ y \ne 0
$$
Thus, we can write:
$$
\log\left(2016^n + 32^n\right) < n\log 2016 + \frac{32^n}{2016^n} = n \log 2016 + 63^{-n} \\
$$
We can add this to our previous inequality:
$$
n \log 2016 + 63^{-n} > \log\left(2016^n + 32^n\right) > k\log 10 \ge n\log 2016
$$
This means that a counterexample to Professor Halfbrain's theorem, which must satisfy our original inequality, also satisfies the weaker inequality:
$$
n \log 2016 + 63^{-n} > k\log 10 \ge n\log 2016
$$
We can weaken this inequality even further by subtracting $63^{-n}$ from the right-hand side:
$$
n \log 2016 + 63^{-n} > k\log 10 > n\log 2016 - 63^{-n} \\
63^{-n} > k\log 10 - n \log 2016 > - 63^{-n} \\
63^{-n} > \left| k\log 10 - n \log 2016\right|
$$
A quick aside: this is a weaker inequality than our original one; since has a larger range it could be true for more values of $n$. However, we will eventually use this to prove (by contradiction) a stronger statement than Professor Halfbrain's theorem. Essentially we will say that, not only do $2016^n$ and $2016^n+32^n$ have the same number of digits, but that no power of $2016$ is "close" to a power of ten.
The paper mentioned above discusses the so-called linear form:
$$
\Lambda = b_2\log\alpha_2 - b_1\log\alpha_1
$$
Where $\alpha_1$ and $\alpha_2$ are nonzero algebraic numbers, and $b_1$ and $b_2$ are positive integers. In our case we have:
$$
\begin{align}
\alpha_1 &= 2016 & b_1 &= n \\
\alpha_2 &= 10 & b_2 &= k
\end{align}
$$
We have a couple more quantities that we will need later:
$$
D = \frac{[\mathbb{Q}(\alpha_1,\alpha_2) : \mathbb{Q}]}{[\mathbb{R}(\alpha_1,\alpha_2) : \mathbb{R}]}
$$
The notation $[E:F]$ is the degree of a field extension. Since our $\alpha_1$ and $\alpha_2$ are integers, they don't actually extend $\mathbb{Q}$ or $\mathbb{R}$, and $D=1$.
Second, we need $h(\alpha_i)$, where $h$ is the logarithmic height. For an algebraic number of degree $d$ whose minimal polynomial over the integers is $a\prod_{i=1}^{d}\left(X-a^{(i)}\right)$ (where the $a^{(i)}$ are the roots of the polynomial) the height is:
$$
h(\alpha) = \frac{1}{d}\left(\log |a|+\sum_{i=1}^{d}\log^+\left|a^{(i)}\right|\right)
$$
where $\log^+(x)=\max\{\log x,0\}$. Since both our $\alpha_i$ are integers, their minimal polynomials are simply $X-\alpha_i$ (and $a=d=1$). Therefore:
$$
h(\alpha_i) = \frac{1}{1}\left(\log 1+\log^+\left|\alpha_i\right|\right)=\log\alpha_i
$$
Finally, we need the quantity $b'$:
$$
b'=\frac{b_1}{D\log A_2}+\frac{b_2}{D\log A_1}=\frac{b_1}{\log A_2}+\frac{b_2}{\log A_1}
$$
Where the $A_i$ are real numbers satisfying $A_i>1$ and:
$$
A_i \ge \max\left\{h(\alpha_i),\frac{|\log \alpha_i|}{D},\frac{1}{D}\right\}=\max\left\{\log\alpha_i,\frac{|\log \alpha_i|}{1},\frac{1}{1}\right\}=\log \alpha_i
$$
(In the last step we assume $\alpha_i\ge e$.)
Corollary 2 to Theorem 2 of the paper states that, if $\alpha_1$ and $\alpha_2$ are multiplicatively independent, positive real numbers (which they are), then:
$$
\log|\Lambda| \ge -C_2D^4\left(\max\left\{\log b'+0.14,\frac{h_2}{D},\frac{1}{2}\right\}\right)^2\log A_1\log A_2
$$
($\alpha_1$ and $\alpha_2$ are multiplicatively independent if "no integral-exponent power product of them is equal to 1, unless all exponents are zero" [source]; that is, the only solution to $\alpha_1^{x_1}\alpha_2^{x_2}=1,\ \{x_1,x_2\}\in \mathbb{Z}$ is $x_1=x_2=0$.) Pairs of values for the constants $C_2$ and $h_2$ are given in a table later in the document.
We can simplify Corollary 2 using the values of $D$, etc. that we determined earlier:
$$
\begin{multline}
-\log|\Lambda| \le C_2\left(\max\left\{\log\left(\frac{n}{\log\log 10}+\frac{k}{\log\log 2016}\right)+0.14,h_2\right\}\right)^2\cdot \\ (\log\log 2016)(\log\log 10)
\end{multline}
$$
Note that the signs of both sides have been reversed, in order to make the following argument easier to follow.
We know that $10^k$ is the power of ten just above $2016^n$, that is, $k = \lfloor n\log_{10}2016 \rfloor + 1$. This means $k < n\log_{10}2016 + 1$. We can use the same "weakening" argument from before to write
$$
\log\left(\frac{n}{\log\log 10}+\frac{k}{\log\log 2016}\right) \\
< \log\left(n\left[\frac{1}{\log\log 10}+\frac{\log_{10}2016}{\log\log 2016}\right] + \frac{1}{\log\log 2016}\right) \\
< \log n + \log\left(\frac{1}{\log\log 10}+\frac{\log_{10}2016}{\log\log 2016}\right) + \frac{1}{n\left(\frac{\log\log 2016}{\log\log 10}+\log_{10}2016\right)} \\
< \log(n) + 1.040 + \frac{0.175}{n}
$$
Therefore,
$$
-\log|\Lambda| < C_2\left(\max\left\{\log n + 1.28 + \frac{0.175}{n},h_2\right\}\right)^2\cdot 1.693
$$
We reverse the signs again to simplify our reasoning:
$$
\log|\Lambda| > -1.693C_2\left(\max\left\{\log n + 1.28 + \frac{0.175}{n},h_2\right\}\right)^2
$$
Now, we bring back our original equation:
$$
63^{-n} > \left| k\log 10 - n \log 2016\right| = |\Lambda|
$$
Any counterexample to Professor Halfbrain's theorem must satisfy:
$$
-n\log 63 > \log|\Lambda| > -1.693C_2\left(\max\left\{\log n + 1.28 + \frac{0.175}{n},h_2\right\}\right)^2
$$
Therefore we only need to check values of $n$ that satisfy the inequality:
$$
-n\log 63 > -1.693C_2\left(\max\left\{\log n + 1.28 + \frac{0.175}{n},h_2\right\}\right)^2 \\
n < 0.409C_2\left(\max\left\{\log n + 1.28 + \frac{0.175}{n},h_2\right\}\right)^2
$$
At this point we substitute values of $C_2$ and $h_2$ from the table:
$$
h_2 = 10,\quad C_2=32.31 \\
n < \max\left\{13.2\left(\log n + 1.28 + \frac{0.175}{n}\right)^2, 1321\right\} \\
n \le 1320
$$
Thus, there are no large counterexamples to Professor Halfbrain's theorem, and we only need to check the cases $n=1$ to $1320$, which can be done with a short computer program; for example:
#include <stdio.h>
#include <gmp.h>
#define NMAX 1320
int main(int argc, char *argv[]) {
int n;
mpz_t pow_2016, pow_32, sum;
mpz_init(pow_2016);
mpz_init(pow_32);
mpz_init(sum);
for(n = 1; n <= NMAX; n++) {
mpz_ui_pow_ui(pow_2016, 2016, n);
mpz_ui_pow_ui(pow_32, 32, n);
mpz_add(sum, pow_2016, pow_32);
size_t len_2016 = mpz_sizeinbase(pow_2016, 10);
size_t len_sum = mpz_sizeinbase(sum, 10);
if(len_2016 < len_sum) {
printf("failure at n = %d\n", n);
break;
}
}
if(n > NMAX) {
printf("success\n");
}
mpz_clear(pow_2016);
mpz_clear(pow_32);
mpz_clear(sum);
return 0;
}
The result:
robert@unity:~/c$ gcc -o 2016 2016.c -lgmp -lm && ./2016
success
Therefore, Professor Halfbrain is correct (this time).
n=0
does not affect the result. So you can start withn>=0
$\endgroup$