Прямой цепной алк * ne определяется как последовательность атомов углерода, соединенных одинарной (алкан), двойной (алкен) или тройной связью (алкин) (используются неявные атомы водорода). Атомы углерода могут образовывать только 4 связи, поэтому ни один атом углерода не может иметь больше четырех связей. Алкине с прямой цепью можно представить в виде списка углерод-углеродных связей.
Вот некоторые примеры действительных прямолинейных алкенов:
[] 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
...
Хотя это не так, по крайней мере, один атом углерода будет иметь более 4 связей:
[2,3]
[3,2]
[3,3]
...
Ваша задача состоит в том, чтобы создать программу / функцию, которая при заданном натуральном числе n
выдает / возвращает количество действительных прямолинейных алкенов n
с длиной атомов углерода. Это OEIS A077998 .
Спецификации / Разъяснения
- Вы должны
1
правильно обращаться , возвращаясь1
. - Алки * нравятся
[1,2]
и[2,1]
считаются различными. - Выход - длина списка всех возможных вариантов * данной длины.
- Вы не должны обрабатывать 0 правильно.
Тестовые случаи:
1 => 1
2 => 3
3 => 6
4 => 14
Это кодовый гольф, поэтому выигрывает меньшее количество байтов !
<=4
, верно?