Prostołańcuchowy alk * ne jest zdefiniowany jako sekwencja atomów węgla połączonych wiązaniami pojedynczymi (alkan), podwójnymi (alken) lub potrójnymi (alkin), (stosowane są ukryte atomy wodoru). Atomy węgla mogą tworzyć tylko 4 wiązania, więc żaden atom węgla nie może być zmuszony do posiadania więcej niż czterech wiązań. Prostołańcuchowy alk * ne może być reprezentowany jako lista jego wiązań węgiel-węgiel.
Oto kilka przykładów prawidłowych alk * nów o łańcuchach prostych:
[] CH4 Methane
[1] CH3-CH3 Ethane
[2] CH2=CH2 Ethene
[3] CH≡CH Ethyne
[1,1] CH3-CH2-CH3 Propane
[1,2] CH3-CH=CH2 Propene
[1,3] CH3-C≡CH Propyne
[2,1] CH2=CH-CH3 Propene
[2,2] CH2=C=CH2 Allene (Propadiene)
[3,1] CH≡C-CH3 Propyne
[1,1,1] CH3-CH2-CH2-CH3 Butane
...
Chociaż tak nie jest, ponieważ co najmniej jeden atom węgla miałby więcej niż 4 wiązania:
[2,3]
[3,2]
[3,3]
...
Twoim zadaniem jest stworzenie programu / funkcji, która przy dodatniej liczbie całkowitej n
wyprowadza / zwraca liczbę prawidłowych alkinów o łańcuchach prostych o długości dokładnie n
atomów węgla. To jest OEIS A077998 .
Dane techniczne / Wyjaśnienia
- Musisz
1
poprawnie postępować , zwracając1
. - Alk * nes lubią
[1,2]
i[2,1]
są uważane za odrębne. - Dane wyjściowe to długość listy wszystkich możliwych alk * nów o danej długości.
- Zdajesz nie muszą obsługiwać 0 poprawnie.
Przypadki testowe:
1 => 1
2 => 3
3 => 6
4 => 14
To jest golf golfowy, więc wygrywa najmniej bajtów !
<=4
, prawda?