First, there are some definitions:
A molecule is a graph, but each side can be multi-plicated.
An atom is a vertex. Atoms are distinguished by its degrees.
A bond is a side, but there is a double bond, triple bond, and so on.
n-bonded is an adjective which shows the atom has n bonds. n-ple bond is counted n times.
A molecule is alkanic is that the molecules doesn't have any multiple bonds or loops.
Here is my function:
OC(a_1, a_2, a_3, ... ,a_n) is a number of the molecules. Every single molecule has a_k k-bonded atoms for every k.
Here is some example. Below, I will write
H for 1-bonded atom. O for 2-bonded atom. N for 3-bonded atom. C for 4-bonded atom.
OC(2)=1, because there is a molecule H-H.
OC(10,0,0,4)=2, because there are two graphs each of them have 4 C's and 10 H's:
H H H H H H H | | | | | | | H-C-C-C-C-H H-C-C-C-H | | | | | | | H H H H H | H | H-C-H | H
More atoms make the number larger.