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 > 2U 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.
nmusimy obsłużyć?