Um alcalino de cadeia linear é definido como uma sequência de átomos de carbono conectados por ligações simples (alcano), duplas (alceno) ou triplas (alcino), (são usados hidrogênios implícitos.) Os átomos de carbono podem formar apenas 4 ligações, portanto nenhum átomo de carbono pode ser forçado a ter mais de quatro ligações. Um alcalino de cadeia linear pode ser representado como uma lista de suas ligações carbono-carbono.
Estes são alguns exemplos de alcoóis de cadeia linear válidos:
[] 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
...
Enquanto estes não são, como pelo menos um átomo de carbono teria mais de 4 ligações:
[2,3]
[3,2]
[3,3]
...
Sua tarefa é criar um programa / função que, dado um número inteiro positivo n
, produz / retorne o número de alcos de cadeia linear válidos com exatamente n
átomos de carbono de comprimento. Este é o OEIS A077998 .
Especificações / Esclarecimentos
- Você deve manipular
1
corretamente retornando1
. - Alk * nes gostam
[1,2]
e[2,1]
são considerados distintos. - Saída é o comprimento de uma lista de todos os alcinos possíveis de um determinado comprimento.
- Você não precisa manipular 0 corretamente.
Casos de teste:
1 => 1
2 => 3
3 => 6
4 => 14
Isso é código de golfe, então a contagem de bytes mais baixa ganha!
<=4
, certo?