Допустим, что утверждение задачи неверно и функция $f$, удовлетворяющая равенству $f(f(n))=n+1987$ при $n\in\N_0$, существует. Тогда
$$
f(n+1987)=f(f(f(n)))=f(n)+1987,
$$
и, следовательно,
$$
f(n+1987k)=f(n)+1987k\tag{*}
$$
при всех $n$, $k\in\N_0$. Рассмотрим теперь произвольное целое $r$, $0\le r\le1986$, и поделим число $f(r)$ на 1987 с остатком:
$$
f(r)=1987p+q,\quad 0\le q\le1986.
$$
По условию $f(f(r))=r+1987$, и в силу (*)
$$
f(f(r))=f(q+1987p)=f(q)+1987p.
$$
Поскольку $r\le 1986$, возможны только два случая:
- $p=0$, т. е. $f(r)=q$, а $f(q)=r+1987$;
- $p=1$, т. е. $f(r)=q+1987$, а $f(q)=f(f(r))-1987=r$.
В обоих случаях, очевидно, $f(r)\ne f(q)$, а значит, $r\ne q$. Таким образом, множество 0, 1, $\ldots$, 1986 можно разбить на пары $(a,b)$ так, что в каждой паре $f(a)=b$, $f(b)=a+1987$. Но в этом множестве нечётное число элементов. Полученное противоречие показывает, что функции с требуемыми свойствами не существует.