Dado un entero n
(donde n < 10001
) como entrada, escriba un programa que genere los primeros n
números Ulam . Un número de Ulam se define de la siguiente manera:
- U 1 =
1
, U 2 =2
. - Porque
n > 2
, U n es el número entero más pequeño que es mayor que U n-1, que es la suma de dos términos anteriores distintos exactamente de una manera.
Por ejemplo, U 3 es 3
(2 + 1), U 4 es 4
(3 + 1) (tenga en cuenta que (2 + 2) no cuenta ya que los términos no son distintos), y U 5 es 6
, (U 5 no es 5 porque 5 puede representarse como 2 + 3 o 4 + 1). Aquí están los primeros números de Ulam:
1, 2, 3, 4, 6, 8, 11, 13, 16, 18, 26, 28, 36, 38, 47, 48, 53, 57, 62, 69, 72, 77, 82, 87, 97, 99
Este es el código de golf, por lo que gana la entrada más corta.
n
que tenemos que manejar?