Biorąc pod uwagę liczbę całkowitą n
(gdzie n < 10001
) jako dane wejściowe, napisz program, który wyświetli pierwsze n
liczby Ulam . Liczba Ulam jest zdefiniowana następująco:
- U 1 =
1
, U 2 =2
. - Bo
n > 2
U n jest najmniejszą liczbą całkowitą większą niż U n-1, która jest sumą dwóch różnych wcześniejszych wyrazów w dokładnie jeden sposób.
Na przykład U 3 to 3
(2 + 1), U 4 to 4
(3 + 1) (zauważ, że (2 + 2) się nie liczy, ponieważ warunki nie są odrębne), a U 5 to 6
(U 5 to nie 5 ponieważ 5 można przedstawić jako 2 + 3 lub 4 + 1). Oto kilka pierwszych liczb 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
To jest golf golfowy, więc wygrywa najkrótszy wpis.
n
musimy obsłużyć?