You are crossing the Atlantic in a small sailboot and hoping to make landfall in the Azores. The highest peak of the Azores is 2300 m in altitude.

At what distance you can see the peak just emerging over the horizon?
(Assume that your eye is (almost) at the level of the water.
The tangent of a circle is perpendicular to the radius of the circle in the tangent point, so the triangle abc forms a right triangle. The line on which we see the mountain top the earliest is just the tangent of the circle at the point where our eye is. The side A of the triangle is known, this is the radius of the earth. The side C is also known, this is the radius + the height of the mountain.
Using the Pythagorean theorem, we can therefore calculate B side
$ \begin{align*} & C^2 = A^2 + B^2 \iff B = \sqrt{C^2 - A^2} \end{align*} $
# Calculations
import numpy as np
from astropy.constants import R_earth
Height = 2300
A = R_earth.value
C = R_earth.value + Height
B = np.sqrt(C**2 - A**2)
print(f'The maximum distance at which we see the mountain top {B:.0f} m -or- {B/1000:.1f} km')
We can also determine the angle a
$ a_{rad} = \arccos{\frac{A}{B}} $
We then can calculate the distance over the surface:
The circumference of the earth is $Radius * 2 * \pi$
The arc length is:
$$\frac{circumference * a_{rad}}{2 * \pi}$$
a = np.arccos(A/C)
circ = 2* np.pi * A
distance = (circ * a )/(2*np.pi)
print(f'The angle in rad is: {a}')
print(f'The maximum distance over surface at which we see the mountain top {distance:.0f} m -or- {distance/1000:.1f} km')