Ответ: за пять дней.
Обозначим, через $x_n$, наибольшую высоту, до которой альпинист может подняться за $n$ дней ($n=1$, 2, $\ldots$). Если к концу какого-то дня он достиг высоты $h$ метров, на следующий день он может подняться на высоту $h+6\cdot30=h+180$ метров, если будет ночевать на скале, и на высоту $h+\left(6-\dfrac{h}{400}\right)\cdot40=h+240-\dfrac{h}{10}$ метров, если спустится ночевать вниз. Ясно, что первый вариант выгоднее, если $180\gt240-\dfrac{h}{10}$, т. е. $h\gt600$, второй — если $h\le600$. Таким образом,
$$
x_{n+1}=
\begin{cases}
x_n+240-\dfrac{x_n}{10},&\text{если}~x_n\le600,\\
x_n+180,&\text{если}~x_n\gt600.
\end{cases}
$$
Начав с $x_0=0$, можно определить $x_n$ последовательно для всех $n$.
$$
\def\n#1#2{\hphantom{1010}\mathllap{#1}\mathrlap{#2}\hphantom{{,}0}}
\begin{array}{c|c}
n&x_n\\[4pt]
\hline\\[-8pt]
1&\n{240}{}\\
2&\n{456}{}\\
3&\n{650}{{,}4}\\
4&\n{830}{{,}4}\\
5&\n{1010}{{,}4}\\
\ldots&\ldots
\end{array}
$$
Поскольку $x_4\lt1000$, а $x_5\gt1000$, альпинист сможет достичь вершины скалы к концу 5-го дня; для этого он должен первые две ночёвки провести внизу, а последние две — на скале.