Schreiben Sie mit einer Ganzzahl n
(wo n < 10001
) als Eingabe ein Programm, das die ersten n
Ulam-Zahlen ausgibt . Eine Ulam-Nummer ist wie folgt definiert:
- U 1 =
1
, U 2 =2
. - Denn
n > 2
U n ist die kleinste ganze Zahl, die größer ist als U n-1 , dh die Summe zweier unterschiedlicher früherer Terme auf genau eine Weise.
Zum Beispiel U 3 ist , 3
(2 + 1), U 4 ist 4
(3 + 1) ( Man beachte , daß (2 + 2) gilt nicht als die Begriffe nicht unterscheidbar sind) und U 5 ist 6
, (U 5 ist nicht mehr als 5 weil 5 entweder als 2 + 3 oder 4 + 1 dargestellt werden kann). Hier sind die ersten Ulam-Nummern:
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
Dies ist Codegolf, also gewinnt der kürzeste Eintrag.
n
wir bewältigen müssen?